ENH: simplify and extend labelRange
- add increment/decrement, repositioning. Simplify const_iterator. - this makes is much easier to use labelRange for constructing ranges of sub-lists. For symmetry with setSize() it has a setStart() instead of simply assigning to start() directly. This would also provide the future possibility to imbue the labelRange with a particular policy (eg, no negative starts, max size etc) and ensure that they are enforced. A simple use case: // initialize each to zero... List<labelRange> subListRanges = ...; // scan and categorize if (condition) subListRanges[categoryI]++; // increment size for that category // finally, set the starting points start = 0; for (labelRange& range : subListRanges) { range.setStart(start); start += range.size(); }
Showing
- src/OpenFOAM/containers/Lists/UList/UList.C 1 addition, 1 deletionsrc/OpenFOAM/containers/Lists/UList/UList.C
- src/OpenFOAM/containers/Lists/UList/UList.H 2 additions, 4 deletionssrc/OpenFOAM/containers/Lists/UList/UList.H
- src/OpenFOAM/primitives/ranges/labelRange/labelRange.C 32 additions, 7 deletionssrc/OpenFOAM/primitives/ranges/labelRange/labelRange.C
- src/OpenFOAM/primitives/ranges/labelRange/labelRange.H 56 additions, 22 deletionssrc/OpenFOAM/primitives/ranges/labelRange/labelRange.H
- src/OpenFOAM/primitives/ranges/labelRange/labelRangeI.H 88 additions, 31 deletionssrc/OpenFOAM/primitives/ranges/labelRange/labelRangeI.H
- src/OpenFOAM/primitives/ranges/labelRange/labelRanges.C 12 additions, 11 deletionssrc/OpenFOAM/primitives/ranges/labelRange/labelRanges.C
- src/OpenFOAM/primitives/ranges/labelRange/labelRanges.H 1 addition, 1 deletionsrc/OpenFOAM/primitives/ranges/labelRange/labelRanges.H
- src/OpenFOAM/primitives/ranges/labelRange/labelRangesI.H 3 additions, 3 deletionssrc/OpenFOAM/primitives/ranges/labelRange/labelRangesI.H
Please register or sign in to comment