Previously, the SparseTensorUtils.cpp library contained a C++ core implementation, but hid it in an anonymous namespace and only exposed a C-API for accessing it. Now we are factoring out that C++ core into a standalone C++ library so that it can be used directly by downstream clients (per request of one such client). This refactoring has been decomposed into a stack of differentials in order to simplify the code review process, however the full stack of changes should be considered together.
- D133462: Part 1: split one file into several
- D133830: Part 2: Reorder chunks within files
- (this): Part 3: General code cleanup
- D133833: Part 4: Update documentation
This part performs some general code cleanup including:
- making more things const, especially for the targets of pointers
- using preincrement wherever possible (per LLVM style guide)
- adding messages to most assert statments.
- moving argument casting from the core function/method definitions to the CPP wrappers
Depends On D133830
This idiomatic change really become more personal taste than anything else (and yes, I am aware that for general iterators there is a big advantage, but not for simple integers). But since you seem to feel strongly about it... ;-)