1. 26 May, 2020 1 commit
  2. 18 May, 2020 1 commit
  3. 13 May, 2020 1 commit
  4. 04 May, 2020 1 commit
  5. 27 Apr, 2020 1 commit
    • Mark OLESEN's avatar
      ENH: retain compound type on List output (continuation of 68de0528) · 394a3a9b
      Mark OLESEN authored
      - can help in circumstances when an zero-sized entry is written on
        some processors, but the compound-type may be useful for determining
        a particular code path when re-reading the files. Ensures that the
        information is consistent on all processors.
      STYLE: adjust separation of includes between List.H and UList.H
  6. 18 Mar, 2020 1 commit
  7. 11 Mar, 2020 1 commit
  8. 18 Feb, 2020 1 commit
  9. 11 Feb, 2020 1 commit
  10. 03 Feb, 2020 1 commit
  11. 31 Jan, 2020 2 commits
    • Mark OLESEN's avatar
    • Mark OLESEN's avatar
      ENH: added IndirectSubList · 822d052e
      Mark OLESEN authored
      - provides an indirect access to a sub-section of a list that is
        somewhat less efficient than a Foam::SubList, but supports the
          * adjustment of its addressing range after construction
          * recovery of the original, underlying list at any time
        This can be more convenient for some coding cases.
        For example,
            template<class Addr>
            void renumberFaces(IndirectListBase<face, Addr>& faces, ...);
        which can be called for
            * Specific faces:
              UIndirectList<face>(mesh.faces(), facesToChange)
            * A sub-range of faces:
              IndirectSubList<face>(mesh.faces(), pp.range())
            * All faces:
      CONFIG: added IndirectListsFwd.H with some common forwarding
  12. 30 Jan, 2020 1 commit
  13. 28 Jan, 2020 1 commit
  14. 13 Dec, 2019 1 commit
  15. 10 Dec, 2019 1 commit
  16. 06 Dec, 2019 2 commits
    • Mark OLESEN's avatar
      ENH: suppress keyword indentation when keyword is empty (List, Field) · 68de0528
      Mark OLESEN authored
      - output the "uniform", "nonuniform" Field entry tags as words instead
        of raw character strings, which can help for direct tokenization or
        when sending/receiving via Pstreams.
    • Mark OLESEN's avatar
      ENH: add ITstream append and seek methods. · 9fd696e1
      Mark OLESEN authored
      - ITstream append() would previously have used the append from the
        underlying tokenList, which leaves the tokenIndex untouched and
        renders the freshly appended tokens effectively invisible if
        interspersed with primitiveEntry::read() that itself uses tokenIndex
        when building the list.
        The new append() method makes this hidden ITstream bi-directionality
        easier to manage. For efficiency, we only append lists
        (not individual tokens) and support a 'lazy' resizing that allows
        the final resizing to occur later when all tokens have been appended.
      - The new ITstream seek() method provides a conveniently means to move
        to the end of the list or reposition to the middle.
        Using rewind() and using seek(0) are identical.
      ENH: added OTstream to output directly to a list of tokens
      BUG: List::newElem resized incorrectly
      - had a simple doubling of the List size without checking that this
        would indeed be sufficient for the requested index.
        Bug was not triggered since primitiveEntry was the only class using
        this call, and it added the tokens sequentially.
  17. 11 Nov, 2019 1 commit
  18. 31 Oct, 2019 1 commit
  19. 05 Nov, 2019 1 commit
  20. 28 Oct, 2019 1 commit
  21. 24 Oct, 2019 1 commit
  22. 04 Oct, 2019 1 commit
    • Mark OLESEN's avatar
      ENH: improvements to SubList and SubField · 61e95b84
      Mark OLESEN authored
      - SubField and SubList assign from zero
      - SubField +=, -=, *=, /= operators
      - SubList construct from UList (as per SubField)
        Note: constructing an anonymous SubField or SubList with a single
        parameter should use '{} instead of '()' to avoid compiler
  23. 02 Oct, 2019 3 commits
  24. 25 Sep, 2019 1 commit
    • Mark OLESEN's avatar
      ENH: adjust HashTable iterator access · bc9295ee
      Mark OLESEN authored
      - previously allowed mapped value modification with a const iterator.
        However, this can lead to incorrect access patterns.
        Now tie the constness of the mapped value to that of the iterator.
      - Remove deprecated iterator object() method.
        Was only used internally and was superseded by the val() method
        in an earlier version.
      ENH: change isPointer to isPointerLike
      - can distinguish between real pointers and wrapped pointers
  25. 27 Sep, 2019 2 commits
    • Mark OLESEN's avatar
      DEFEATURE: pointer dereferencing for HashTable iterator · b6bf9129
      Mark OLESEN authored
      - this largely reverts 3f0f218d and 4ee65d12.
        Consistent addressing with support for wrapped pointer types (eg,
        autoPtr, std::unique_ptr) has proven to be less robust than desired.
        Thus rescind HashTable iterator '->' dereferencing (from APR-2019).
    • Mark OLESEN's avatar
      STYLE: adjustments to HashSet, HashTable · 0840bfdc
      Mark OLESEN authored
      - use HashTable emplace instead of insert to avoid unneeded argument
        (for HashSet).
      - use emplace when generating zero-initialized values for
      - drop unused parameter from Detail::HashTableSingle,
        adjust templates parameter names
      - forward HashTable::operator[] to the semantically identical
        HashTable::at() to avoid code duplication
  26. 27 Aug, 2019 1 commit
  27. 29 Jul, 2019 2 commits
    • Mark OLESEN's avatar
      ENH: add readContiguous detail (#1378) · 39834d8f
      Mark OLESEN authored
      - allows some internal handling for reading dissimilar storage types.
        Eg, scalars written as float (WM_SP), but read as double (WM_DP)
      - reading binary parcel coordinates with dissimilar storage types is
        still pending
    • Mark OLESEN's avatar
      ENH: additional contiguous traits (#1378) · 1d79c045
      Mark OLESEN authored
      - change contiguous from a series of global functions to separate
        templated traits classes:
          - is_contiguous
          - is_contiguous_label
          - is_contiguous_scalar
        The static constexpr 'value' and a constexpr conversion operator
        allow use in template expressions.  The change also makes it much
        easier to define general traits and to inherit from them.
        The is_contiguous_label and is_contiguous_scalar are special traits
        for handling data of homogeneous components of the respective types.
  28. 12 Aug, 2019 1 commit
  29. 07 Aug, 2019 1 commit
  30. 31 Jul, 2019 1 commit
    • Mark OLESEN's avatar
      ENH: make OSstream indentation adjustable · 8b3d77ba
      Mark OLESEN authored
      - this is principally for cases where reduced indentation is desired,
        such as when streaming to a memory location. If the indentation size
        is zero or one, only a single space will be used to separate the
        This change does not affect the stream allocation size, since the
        extra data falls within the padding.
      ENH: relocate label/scalar sizes from Istream to IOstream.
      - could allow future use for output streams as well?
        Due to padding, reorganization has no effect on allocated size
        of output streams.
      STYLE: add read/write name qualifier to beginRaw, endRaw
      - removes ambiguity for bi-directional streams
      STYLE: fix inconsistent 'const' qualifier on std::streamsize
      - base Ostream was without const, some derived streams with const
  31. 29 Jul, 2019 1 commit
  32. 17 Jul, 2019 1 commit
  33. 15 Jul, 2019 1 commit
  34. 12 Jul, 2019 1 commit
    • Mark OLESEN's avatar
      ENH: HashTable and HashSet improvements · bbc2d4a8
      Mark OLESEN authored
      - unfriend HashSet, HashTable IO operators
      - global min(), max(), minMax() functions taking a labelHashSet and an
        optional limit. For example,
            labelHashSet set = ...;
            Info<< "min is " << min(set) << nl;
            Info<< "max (non-negative) " << max(set, 0) << nl;
      - make HashTable iterator '->' dereferencing more consistent by also
        supporting non-pointer types as well.
      - read HashTable values in-situ to avoid copying