1. 20 Jan, 2009 1 commit
  2. 19 Jan, 2009 2 commits
  3. 16 Jan, 2009 1 commit
    • Mark Olesen's avatar
      consistency update for null pointers · 246d569c
      Mark Olesen authored
      - uniform use of reinterpret_cast<foo*>(0) instead of
        reinterpret_cast<foo*>(NULL)
      
      - make all static null() members inline since they are really only a cast:
            "*reinterpret_cast<foo*>(0)"
      246d569c
  4. 15 Jan, 2009 1 commit
  5. 14 Jan, 2009 1 commit
  6. 12 Jan, 2009 1 commit
  7. 11 Jan, 2009 1 commit
  8. 10 Jan, 2009 1 commit
    • Mark Olesen's avatar
      Simplify checking of container (List/HashTable, strings) sizes · 95dcb6de
      Mark Olesen authored
      - can use 'XX.empty()' instead of 'XX.size() == 0', 'XX.size() < 1' or
        'XX.size() <= 0' or for simpler coding.
        It also has the same number of characters as '!XX.size()' and /might/ be
        more readable
      
      - many size checking had 'XX.size() > 0', 'XX.size() != 0', or 'XX.size() >= 1'
        when a simple 'XX.size()' suffices
      95dcb6de
  9. 09 Jan, 2009 3 commits
  10. 05 Jan, 2009 1 commit
    • Mark Olesen's avatar
      rename xfer<T> class to Xfer<T> · 19503c93
      Mark Olesen authored
      - The capitalization is consistent with most other template classes, but
        more importantly frees up xfer() for use as method name without needing
        special treatment to avoid ambiguities.
      
        It seems reasonable to have different names for transfer(...) and xfer()
        methods, since the transfer is occuring in different directions.
        The xfer() method can thus replace the recently introduced zero-parameter
        transfer() methods.
        Other name candidates (eg, yield, release, etc.) were deemed too abstract.
      19503c93
  11. 02 Jan, 2009 2 commits
    • Mark Olesen's avatar
      added xfer<...> transfer() method to various containers · cf488912
      Mark Olesen authored
      - this should provide a slightly more naturally means to using transfer
        constructors, for example
                labelList list2(list1.transfer());
            vs. labelList list2(xferMove(list1));
      
      - returns a plain list where appropriate (eg, DynamicList, SortableList)
        for example
                labelList list2(dynList1.transfer());
            vs. labelList list2(xferMoveTo<labelList>(dynList1));
      cf488912
    • Mark Olesen's avatar
      HashTable / StaticHashTable changes · a0101214
      Mark Olesen authored
      StaticHashTable:
      - erase(iterator&) now actually alters the iterator and iterator++() handles
        it properly
      - clear() also sets count to zero
      - operator=(const StaticHashTable&) doesn't crash after a previous transfer
      - operator(), operator==() and operator!=() added
      
      HashTable:
      - operator=(const HashTable&) gets tableSize if required, eg, after a
        previous transfer)
      
      HashSet / Map
      - add xfer<...> constructor for underlying HashTable
      a0101214
  12. 31 Dec, 2008 1 commit
  13. 18 Dec, 2008 1 commit
  14. 17 Dec, 2008 5 commits
  15. 12 Dec, 2008 1 commit
  16. 29 Nov, 2008 1 commit
  17. 25 Nov, 2008 1 commit
    • Mark Olesen's avatar
      SortableList + ListOps changes · 7e2a940d
      Mark Olesen authored
      - dropped setSize() in favour of List::setSize().
        The size of the indices is set in sort() anyhow and undefined before that.
      - added reverseSort() method
      - added ListOps uniqueOrder() and duplicateOrder()
      7e2a940d
  18. 24 Nov, 2008 1 commit
    • Mark Olesen's avatar
      DynamicList changes. · 41bbcb63
      Mark Olesen authored
      - setSize() adjusts the addressable length only.
        Changed setSize(label) usage to setCapacity(label) or reserve(label)
        throughout. The final name (capacity vs. storageSize() vs. whatever) can
        easily be decided at a later date.
      - added setSize(label, const T&), which may still not be really useful, but
        is at least now meaningful
      - made shrink() a bit more legible.
      - added append(UList<T>&)
      - copying from a UList avoids reallocations where possible
      
      The following bits of code continue to use the DynamicList::setSize(), but
      appear to be legitimate (or the corresponding code itself needs rethinking).
      
        src/OpenFOAM/meshes/primitiveMesh/primitiveMeshPointCells.C:167: error: within this context
        src/OpenFOAM/lnInclude/faceTemplates.C:44: error: within this context
        src/surfMesh/surfaceFormats/tri/TRIsurfaceFormatCore.C:178: error: within this context
        src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:737: error: within this context
        src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:741: error: within this context
        src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:745: error: within this context
        src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:749: error: within this context
        src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:754: error: within this context
        src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:935: error: within this context
        src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:940: error: within this context
        src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:1041: error: within this context
        src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:1046: error: within this context
        src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:2161: error: within this context
        src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:2162: error: within this context
        src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:2201: error: within this context
        src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:2205: error: within this context
        src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:2261: error: within this context
        src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:2262: error: within this context
        src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:2263: error: within this context
        src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:2264: error: within this context
        src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:2265: error: within this context
        src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:3011: error: within this context
        src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:3076: error: within this context
        src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:3244: error: within this context
        src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:3371: error: within this context
        src/dynamicMesh/meshCut/cellLooper/topoCellLooper.C:73: error: within this context
        src/dynamicMesh/meshCut/cellLooper/topoCellLooper.C:91: error: within this context
        src/dynamicMesh/meshCut/cellLooper/topoCellLooper.C:73: error: within this context
        src/dynamicMesh/meshCut/cellLooper/topoCellLooper.C:91: error: within this context
      41bbcb63
  19. 23 Nov, 2008 2 commits
    • Mark Olesen's avatar
    • Mark Olesen's avatar
      DynamicList improvements/disambiguities · 129e16f9
      Mark Olesen authored
      * DynamicList::allocSize(label)
        - Adjust the allocated size. The addressed list can be truncated but not
          extended, use setSize() for that.
      
      * DynamicList::reserve(label)
        - Reserve allocation for *at least* this number of elements.
          Never shrinks the allocated size, nor touches the addressed list size.
      
      * DynamicList::setSize(label)
        - proposed behaviour:
          Adjust the addressed list size, allocating extra space if required.
        - The current behaviour is ambiguous about what addressable size will
          actually get set and using it to extend the addressable size (as
          per List) automatically shrinks the allocated space to this size!
      129e16f9
  20. 20 Nov, 2008 1 commit
  21. 19 Nov, 2008 3 commits
  22. 18 Nov, 2008 3 commits
    • Mark Olesen's avatar
      HashSet gets additional operators · 1c9102da
      Mark Olesen authored
       - operator+=  : add in the listed keys
       - operator-=  : remove the listed keys
       - operator&=  : intersection of keys
       - added xfer constructor (just in case)
       - moved labelHashSet typedef to HashSet.H, for consistency with the
         wordHashSet typedef being there and since it is used so often
      1c9102da
    • Mark Olesen's avatar
      ListOps with (const UList<label>&) instead of (const labelList&) · 04c8cdf7
      Mark Olesen authored
      PackedList with (const UList<label>&) instead of (const labelList&)
      04c8cdf7
    • Mark Olesen's avatar
      SortableList changes · bbb989f8
      Mark Olesen authored
       - moved SortableList<T>::less class to UList<T>::less for better accessibility
       - add clear() method now also handles the indices
       - indices length is caught in sort()
       - indices remain (mostly) zero-sized until after sort()
       - allow non-const access to indices
      bbb989f8
  23. 07 Nov, 2008 2 commits
  24. 31 Oct, 2008 1 commit
  25. 23 Oct, 2008 2 commits