Skip to content
  • Mark OLESEN's avatar
    ENH: generalize indirect lists and support new types · c3403761
    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