1. 06 Dec, 2019 1 commit
    • 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.
      9fd696e1
  2. 31 Oct, 2019 1 commit
  3. 20 Aug, 2019 2 commits
    • Mark OLESEN's avatar
      ENH: suppress IOerror newlines if file name is empty · 3f06722a
      Mark OLESEN authored
      - compacter messages in some cases
      
      STYLE: simplify output handling of line numbers
      3f06722a
    • Mark OLESEN's avatar
      ENH: minor improvements, cleanup of token class · c9cb4ce3
      Mark OLESEN authored
      - relax casting rules
        * down-cast of labelToken to boolToken
        * up-cast of wordToken to stringToken.
          Can use isStringType() test for word or string types
      
      - simplify constructors, move construct etc.
      
      - expose reset() method as public, which resets to UNDEFINED and
        clears allocated storage etc.
      
      DEFEATURE: remove assign from word or string pointer.
      
      - This was deprecated 2017-11 and now removed.
        For this type of content transfer, move assignment should be used
        instead of stealing pointers.
      c9cb4ce3
  4. 14 Aug, 2019 1 commit
  5. 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
      bdc1c9bf
  6. 06 Feb, 2019 1 commit
  7. 01 Nov, 2018 1 commit
  8. 09 Nov, 2017 1 commit
  9. 05 Nov, 2017 1 commit
  10. 06 Nov, 2017 1 commit
  11. 23 Oct, 2017 1 commit
    • Mark OLESEN's avatar
      ENH: add reset() method to IStringStream · af5f8576
      Mark OLESEN authored
      - for convenience and symmetry with OStringStream
      
      STYLE: void return value for stream rewind() methods
      
      - this makes it easier to design bidirectional streams
      af5f8576
  12. 10 Nov, 2015 1 commit
  13. 01 Nov, 2015 1 commit
  14. 14 Aug, 2011 1 commit
  15. 19 Jan, 2011 1 commit
  16. 14 Jan, 2011 1 commit
  17. 07 Jan, 2011 1 commit
  18. 05 Jan, 2011 2 commits
  19. 28 Jul, 2010 1 commit
  20. 29 Mar, 2010 1 commit
  21. 15 Dec, 2009 1 commit
    • Mark Olesen's avatar
      Fix minor bug in ITstream · 3f0b6ec8
      Mark Olesen authored
      - The lineNumber of token::undefinedToken was being changed instead of
        just the lineNumber of the return token.
      
      - use List::first() and List::last() methods as well
      3f0b6ec8
  22. 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
      1d866d7f
  23. 31 Dec, 2008 1 commit
  24. 25 Jun, 2008 2 commits
  25. 15 Apr, 2008 1 commit