1. 12 Jan, 2009 1 commit
  2. 08 Jan, 2009 5 commits
  3. 07 Jan, 2009 1 commit
  4. 06 Jan, 2009 6 commits
  5. 05 Jan, 2009 7 commits
  6. 31 Dec, 2008 1 commit
  7. 07 Jan, 2009 2 commits
  8. 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
  9. 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
  10. 02 Jan, 2009 3 commits
    • Mark Olesen's avatar
      added xfer<...> transfer() method to various containers · cf488912
      Mark Olesen authored
      - this should provide a slightly more naturally means to using transfer
        constructors, for example
                labelList list2(list1.transfer());
            vs. labelList list2(xferMove(list1));
      - returns a plain list where appropriate (eg, DynamicList, SortableList)
        for example
                labelList list2(dynList1.transfer());
            vs. labelList list2(xferMoveTo<labelList>(dynList1));
    • Mark Olesen's avatar
    • Mark Olesen's avatar
      HashTable / StaticHashTable changes · a0101214
      Mark Olesen authored
      - erase(iterator&) now actually alters the iterator and iterator++() handles
        it properly
      - clear() also sets count to zero
      - operator=(const StaticHashTable&) doesn't crash after a previous transfer
      - operator(), operator==() and operator!=() added
      - operator=(const HashTable&) gets tableSize if required, eg, after a
        previous transfer)
      HashSet / Map
      - add xfer<...> constructor for underlying HashTable
  11. 01 Jan, 2009 1 commit
    • Mark Olesen's avatar
      boundBox, octree cleanup · 973b9ea0
      Mark Olesen authored
        - added boundBox(const tmp<pointField>&) constructor for use with
          coordinate systems
        - moved some methods from treeBoundBox to boundBox and use VectorSpace ops
  12. 31 Dec, 2008 7 commits