1. 29 Jul, 2019 1 commit
    • 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.
      1d79c045
  2. 12 Aug, 2019 2 commits
  3. 09 Aug, 2019 5 commits
  4. 07 Aug, 2019 5 commits
  5. 06 Aug, 2019 1 commit
  6. 31 Jul, 2019 1 commit
  7. 06 Aug, 2019 1 commit
  8. 02 Aug, 2019 4 commits
  9. 06 Aug, 2019 2 commits
  10. 05 Aug, 2019 2 commits
  11. 29 Jul, 2019 2 commits
  12. 02 Aug, 2019 2 commits
  13. 01 Aug, 2019 1 commit
    • Mark Olesen's avatar
      ENH: support search options on more dictionary methods · 89bc42dd
      Mark Olesen authored
      - can now specify literal matches for sub-dictionary methods:
      
          isDict(key, keyType::REGEX)
          optionalSubDict(key, keyType::REGEX)
          subDict(key, keyType::REGEX)
          subOrEmptyDict(key, keyType::REGEX, mandatory)
      
      There is no change in behaviour of the methods, just the search option
      is now exposed as an optional parameter.
      
      NOTE: minor breaking change for subOrEmptyDict()
      
        old: subOrEmptyDict(key, bool=false)
        new: subOrEmptyDict(key, keyType::option=keyType::REGEX, bool=false)
      
        This affects code that previously explicitly set the bool parameter.
        Within OpenFOAM itself, this only affected a single file:
      
            KinematicCloud.C
      89bc42dd
  14. 31 Jul, 2019 2 commits
    • 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
        key/value.
      
        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
      8b3d77ba
    • Mark Olesen's avatar
      ENH: add OListStream::swap(DynamicList<char>&) · 6f8da834
      Mark Olesen authored
      - allows full recovery of allocated space, not just addressable range.
      
        This can be particularly useful for code patterns that repeatedly
        reuse the same buffer space. For example,
      
            DynamicList<char> buf(1024);
      
            // some loop
            {
                OListStream os(std::move(buf));
                os << ...
      
                os.swap(buf);
            }
      
         Can read back from this buffer as a second operation:
      
            {
                UIListStream is(buf);
                is >> ...
            }
      6f8da834
  15. 30 Jul, 2019 3 commits
  16. 02 Aug, 2019 2 commits
  17. 07 Aug, 2019 1 commit
  18. 30 Jul, 2019 1 commit
  19. 31 Jul, 2019 1 commit
  20. 30 Jul, 2019 1 commit
    • Mark Olesen's avatar
      ENH: improvements for handling update of build information · 59b867b7
      Mark Olesen authored
      - When building OpenFOAM for different platform combinations
        (single/double, int32/int64) the build information that is compiled
        into the OpenFOAM lib can become out of sync.
      
        This is because the update trigger (wmakeBuildInfo -check) is
        independent of the targetted platform. The added file
        'src/OpenFOAM/Alltouch' provides a direct means of forcing a rebuild
        of the version information. Eg,
      
            src/OpenFOAM/Alltouch
            wmake src/OpenFOAM
      
        Also provide an additional 'wmakeBuildInfo -remove' to forcibly
        remove META-INFO/build-info, if that is desired.
      59b867b7