Feature indirect lists
- Apr 24, 2019
-
-
Mark OLESEN authoreddd11951c
-
Mark OLESEN authored
- unnecessary. Can deduce labelRange from the pair of labels. These are all the same: list[labelRange(18,3)] = 100; list[labelRange{18,3}] = 100; list[{18,3}] = 100; Removing the run-time handling of std::initializer_list in favour of compile-time deduction allows the future use of sliceRange as well. Eg, list[sliceRange{18,3,2}] = 100; list[{18,3,2}] = 100;
1d77aeb5 -
Mark OLESEN authored
- use an IndirectListBase class for various indirect list types. - new SortList type In some places the SortList can be used as a lightweight alternative to SortableList to have the convenience of bundling data and sort indices together, but while operating on existing data lists. In other situations, it can be useful as an alternative to sortedOrder. For example, pointField points = ...; labelList order; sortedOrder(points, order); forAll(order, i) { points[order[i]] = ...; } Can be replaced with the following (with the same memory overhead) pointField points = ...; SortList<point> sortedPoints(points); for (point& pt : sortedPoints) { pt = ...; } - new SliceList type (#1220), which can be used for stride-based addressing into existing lists
c3403761
-