1. 23 Jan, 2020 1 commit
    • Mark Olesen's avatar
      ENH: stream adjustments · 0ff02713
      Mark Olesen authored
      - make stream constructors explicit
      - remove "using std::ifstream", "using std::iofstream" statements
        for a cleaner namespace.
      * copy/move assignments for ITstream
      * IStringStream: default construct and construct from std::string
        instead of Foam::string
      - reduce some overhead in masterOFstream
      - simplify Pstream handling of string variants (#1525)
  2. 31 Oct, 2019 1 commit
  3. 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
  4. 29 Jul, 2019 1 commit
    • Mark Olesen's avatar
      ENH: support low-level reading of raw binary blocks (#1378) · bdc1c9bf
      Mark Olesen authored
      - symmetric with writeRaw() etc for the output stream. These are
        methods that are not required by normal users, but which provide
        a finer granularity for reading.
      - additional information about the current stream position when
        endList fails. This may help when tracing errors.
      STYLE: change return type of beginRaw()/endRaw() to bool
      - was of type Ostream& for output, but return value was unused.
        Having bool may be better for encapsulating logic
      STYLE: remove unused Istream::readEndBegin() function
  5. 06 Feb, 2019 1 commit
  6. 25 Nov, 2018 1 commit
  7. 12 Nov, 2017 1 commit
    • Mark Olesen's avatar
      ENH: changed return value to bool for Ostream::write(const token&) · 5281dd48
      Mark Olesen authored
      - the return value signals if this method handled this particular type
        of token. This minor change allows this method to be used as a succinct
        prefilter an output token stream. It also provides better encapsulation
        of what the particular output stream handles.
            bool ok = os.write(tok);
            if (!ok)   // or   if (!ok && os.good())
                os << tok;
        instead of
            if (tok.type() == typeA || tok.type() == typeB || ...)
                os << tok;
  8. 05 Nov, 2017 1 commit
  9. 10 Aug, 2017 1 commit
    • Mark Olesen's avatar
      BUG: OPstream send of tokenType may swallow characters (fixes #563) · c847d343
      Mark Olesen authored
      - the tokenType was being send via write(char), which includes
        isspace filtering. If the tokenType enumeration coincides
        with a whitespace character, it would be suppressed.
        Now add character directly to the buffer.
      STYLE: some additional minor private methods to help refactoring
      - readStringFromBuffer, writeStringToBuffer for common string
  10. 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.
  11. 31 Dec, 2014 2 commits
    • Henry's avatar
      Updated headers · ded2f257
      Henry authored
    • Henry's avatar
      Added and verified support for 64bit labels · 325b003b
      Henry authored
      To compile with 64bit labels set
      in ~/OpenFOAM/dev/prefs.sh
      source ~/.bashrc
      then Allwmake in OpenFOAM-dev.
      This will build into for example OpenFOAM-dev/platforms/linux64ClangDPInt64Opt
      If WM_LABEL_SIZE is unset or set to 32:
      the build would be placed into OpenFOAM-dev/platforms/linux64ClangDPInt32Opt
      Thus both 32bit and 64bit label builds can coexist without problem.
  12. 04 Feb, 2013 1 commit
  13. 14 Aug, 2011 1 commit
  14. 19 Jan, 2011 1 commit
  15. 14 Jan, 2011 1 commit
  16. 07 Jan, 2011 1 commit
  17. 05 Jan, 2011 2 commits
  18. 28 Jul, 2010 1 commit
  19. 12 Apr, 2010 1 commit
  20. 30 Mar, 2010 1 commit
  21. 29 Mar, 2010 1 commit
  22. 27 Oct, 2009 1 commit
  23. 26 Oct, 2009 1 commit
  24. 25 Aug, 2009 1 commit
  25. 23 Jan, 2009 1 commit
  26. 19 Jan, 2009 1 commit
    • Mark Olesen's avatar
      Support for single-quoted strings · 9087cd7b
      Mark Olesen authored
      - token class handles both single and double quoted strings. Single quoted
        strings are used to tag regular expressions. At the moment this is just
        syntactical sugar and isn't (yet) treated differently than double-quoted
      - write output for std:string, with/without single quotes with the method
        writeQuoted(). Use distinct method name to avoid inadvertent compiler
      - write wordRe and keyType using writeQuoted()
  27. 06 Jan, 2009 1 commit
  28. 03 Jan, 2009 1 commit
    • Mark Olesen's avatar
      reworked IOstreams · 1d866d7f
      Mark Olesen authored
      - Istream and Ostream now retain backslashes when reading/writing strings.
        The previous implementation simply discarded them, except when used to
        escape a double-quote or a newline. It is now vitally important to retain
        them, eg for quoting regular expression meta-characters.
        The backslash continues to be used as an escape character for double-quote
        and newline, but otherwise get passed through "as-is" without any other
        special meaning (ie, they are *NOT* C-style strings). This helps avoid
        'backslash hell'!
        For example,
           string:   "match real dots \.+, question mark \? or any char .*"
           C-style:  "match real dots \\.+, question mark \\? or any char .*"
      - combined subfiles in db/IOstreams, some had more copyright info than code
      - OPstreamI.H contained only private methods, moved into OPstream.C
      Are these really correct?
         IOstreams/Istream.H:#   include "HashTable.C"
         token/token.H:#define NoHashTableC
  29. 31 Dec, 2008 1 commit
  30. 11 Dec, 2008 1 commit
  31. 25 Jun, 2008 2 commits
  32. 15 Apr, 2008 1 commit