1. 09 Aug, 2018 1 commit
  2. 08 Aug, 2018 1 commit
    • Mark OLESEN's avatar
      ENH: add missing Hash function for List/UList (issue #966) · dd9ecd49
      Mark OLESEN authored
      - there were previously no hashing mechanisms for lists so they
        would fall back to the definition for primitives and hash the
        memory location of the allocated List object.
      
      - provide a UList::Hash<> sub-class for inheritance, and also a global
        specialization for UList<T>, List<T> such that the hash value for
        List<List<T>> cascades properly.
      
      - provide similar function in triFace to ensure that it remains
        similar in behaviour to face.
      
      - added SymmHash to Pair, for use when order is unimportant.
      
      STYLE: use string::hash() more consistently
      
      - no particular reason to use Hash<word>() which forwards to
        string::hash() anyhow
      dd9ecd49
  3. 30 May, 2018 1 commit
  4. 19 Mar, 2018 1 commit
  5. 26 Feb, 2018 1 commit
  6. 28 Feb, 2018 1 commit
  7. 09 Feb, 2018 1 commit
    • Mark OLESEN's avatar
      STYLE: simplify hashing to use struct instead of class · 3e3c9739
      Mark OLESEN authored
      - more consistent with STL practices for function classes.
      
      - string::hash function class now operates on std::string rather
        than Foam::string since we have now avoided inadvertent use of
        string conversion from int in more places.
      3e3c9739
  8. 25 Jan, 2018 1 commit
    • Mark OLESEN's avatar
      ENH: improved swap/transfer methods for FixedList · d029f4c5
      Mark OLESEN authored
      - the transfer method was previously a copy
      
      - use std::reverse_iterator adaptors in FixedList
        This greatly reduces the amount of code and now avoids the array-bounds
        warning for FixedList::rend()
      
      - use pointer arithmetic instead of dereferencing the internal array
      d029f4c5
  9. 27 Nov, 2017 1 commit
    • Mark OLESEN's avatar
      ENH: several improvements for linked-lists · cc5f30f2
      Mark OLESEN authored
      - support move construct/assignment for linked-lists themselves
        and when moving into a 'normal' list
      
      - better consistency with begin/end signatures and the various
        iterators.
      
      - for indirect linked-lists, provide iterator access to the underlying
        data element address:   iter.get()  vs  &(iter())
      
      - add standard '->' indirection for iterators (as per normal STL
        definitions)
      cc5f30f2
  10. 04 Nov, 2017 1 commit
  11. 29 Oct, 2017 1 commit
    • Mark OLESEN's avatar
      ENH: consistent reverse iterator definitions for UList and FixedList · cd46cb70
      Mark OLESEN authored
      - consistent with C++ STL conventions, the reverse iterators should
        use operator++ to transit the list from rbegin() to rend().
      
        The previous implementation used raw pointers, which meant that they
        had the opposite behaviour: operator-- to transit from rbegin() to
        rend().
      
        The updated version only has operator++ defined, thus the compiler
        should catch any possible instances where people were using the old
        (incorrect) versions.
      
      - updated forAllReverseIters() and forAllConstReverseIters() macros to
        be consistent with new implementation and with C++ STL conventions.
      cd46cb70
  12. 20 Oct, 2017 1 commit
    • Mark OLESEN's avatar
      ENH: additional low-level raw binary output for Ostream. · 74f667a8
      Mark OLESEN authored
      - low-level beginRaw(), writeRaw(), endRaw() methods.
        These can be used to directly add '()' decorators for serial output
        or prepare/cleanup parallel buffers.
        Used, for example, when outputting indirect lists in binary to avoid.
      74f667a8
  13. 20 Sep, 2017 2 commits
    • Mark OLESEN's avatar
      ENH: update List and DynamicList methods (issue #595) · 049617d0
      Mark OLESEN authored
      - improve functional compatibility with DynList (remove methods)
        * eg, remove an element from any position in a DynamicList
        * reduce the number of template parameters
        * remove/subset regions of DynamicList
      
      - propagate Swap template specializations for lists, hashtables
      
      - move construct/assignment to various containers.
      
      - add find/found methods for FixedList and UList for a more succinct
        (and clearer?) usage than the equivalent global findIndex() function.
      
      - simplify List_FOR_ALL loops
      049617d0
    • Mark OLESEN's avatar
  14. 26 May, 2017 1 commit
  15. 14 May, 2017 1 commit
    • Mark OLESEN's avatar
      ENH: avoid std::distance for std::initializer_list · 0c53a815
      Mark OLESEN authored
      - std::initializer_list has its own size() method, so no need to use
        std::distance.
      
      STYLE/BUG: use separate iterator de-reference and increment in List
      
      - avoids unnecessary copying of iterators, and avoids any potentially
        odd behaviour with the combination with incrementing.
      
      ENH: support construct from iterator pair for DynamicList, SortableList
      0c53a815
  16. 29 Apr, 2017 1 commit
    • Mark OLESEN's avatar
      ENH: further refinement to edge methods · 1d9b311b
      Mark OLESEN authored
      - more hash-like methods.
        Eg, insert/erase via lists, clear(), empty(),...
      
      - minVertex(), maxVertex() to return the smallest/largest label used
      
      - improved documentation, more clarification about where/how negative
        point labels are treated.
      1d9b311b
  17. 27 Apr, 2017 1 commit
  18. 26 Apr, 2017 1 commit
  19. 21 Feb, 2017 1 commit
  20. 10 Feb, 2017 1 commit
    • Mark Olesen's avatar
      ENH: support ASCII List output on a single-line · e3d9084c
      Mark Olesen authored
      - Introduce writeList(Ostream&, label) method in various List classes to
        provide more flexibility and avoid hard-coded limits when deciding if a
        list is too long and should be broken up into multiple lines (ASCII only).
      
      - The old hard-code limit (10) is retained in the operator<< versions
      
      - This functionality is wrapped in the FlatOutput output adapter class
        and directly accessible via the 'flatOutput()' function.
      
      Eg,
          #include "ListOps.H"
          Info<< "methods: " << flatOutput(myLongList) << endl;
      
          // OR
      
          Info<< "methods: ";
          myLongList.writeList(os) << endl;
      e3d9084c
  21. 08 Feb, 2017 2 commits
  22. 12 Aug, 2016 1 commit
  23. 11 Aug, 2016 1 commit
  24. 05 Aug, 2016 1 commit
  25. 03 Aug, 2016 1 commit
  26. 01 Jul, 2016 2 commits
  27. 26 Apr, 2016 3 commits
  28. 28 Feb, 2016 1 commit
  29. 10 Jan, 2016 2 commits
  30. 10 Nov, 2015 1 commit
  31. 08 Nov, 2015 1 commit
  32. 15 Jul, 2015 1 commit
  33. 30 Jun, 2015 1 commit
  34. 15 Dec, 2014 1 commit