1. 10 Jan, 2009 2 commits
  2. 09 Jan, 2009 9 commits
  3. 08 Jan, 2009 5 commits
  4. 07 Jan, 2009 2 commits
  5. 06 Jan, 2009 6 commits
  6. 05 Jan, 2009 7 commits
  7. 31 Dec, 2008 1 commit
  8. 07 Jan, 2009 2 commits
  9. 05 Jan, 2009 4 commits
    • Mark Olesen's avatar
      stringListOps - findStrings() with wordReList · cb65f1c7
      Mark Olesen authored
      - we can now use a list of words/regexp for filtering/selecting
        ... the first results: cellTable/boundaryRegion
    • Mark Olesen's avatar
      reworked regExp + wordRe a bit, minor change to keyType · 3c5852eb
      Mark Olesen authored
      - added optional ignoreCase for constructor.
      - the compile() methods is now exposed as set(...) method with an optional
        ignoreCase argument.  Not currently much use for the other regex compile
        flags though. The set() method can be used directly instead of the
        operator=() assignment.
      keyType + wordRe:
      - it's not clear that any particular characters are valid/invalid (compared
        to string or word), so just drop the valid(char) method for now
      - a bool doesn't suffice, added enum compOption (compile-option)
      - most constructors now have a compOption. In *all* cases it defaults to
        LITERAL - ie, the same behaviour for std::string and Foam::string
      - added set(...) methods that do much the same as operator=(...), but the
        compOption can be specified.  In all cases, it defaults to DETECT.
       In Summary
          By default the constructors will generally preserve the argument as
          string literal and the assignment operators will use the wordRe::DETECT
          compOption to scan the string for regular expression meta characters
          and/or invalid word characters and react accordingly.
          The exceptions are when constructing/assigning from another
          Foam::wordRe (preserve the same type) or from a Foam::word (always
    • Mark Olesen's avatar
      rename xfer<T> class to Xfer<T> · 19503c93
      Mark Olesen authored
      - The capitalization is consistent with most other template classes, but
        more importantly frees up xfer() for use as method name without needing
        special treatment to avoid ambiguities.
        It seems reasonable to have different names for transfer(...) and xfer()
        methods, since the transfer is occuring in different directions.
        The xfer() method can thus replace the recently introduced zero-parameter
        transfer() methods.
        Other name candidates (eg, yield, release, etc.) were deemed too abstract.
    • Mark Olesen's avatar
      regExp - separate full match from partial match, add find() · 461ac4b4
      Mark Olesen authored
        - match() only does a full match
        - find() and search() do partial matches
          search() is similar to the name coming into C++ TR1
  10. 03 Jan, 2009 2 commits
    • Mark Olesen's avatar
      new wordRe class - a word that holds a regExp · 2717aa5c
      Mark Olesen authored
        - a possible future replacement for keyType, but the immediate use is the
          wordReList for grepping through other lists.
        - note that the argList treatment of '(' ... ')' yields quoted strings,
          which we can use for building a wordReList
      minor cleanup of regExp class
        - constructor from std::string, match std::string and
          rely on automatic conversion to Foam::string
        - ditch partialMatch with sub-groups, it doesn't make much sense
    • 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