1. 20 Jan, 2009 1 commit
  2. 19 Jan, 2009 4 commits
  3. 16 Jan, 2009 6 commits
    • Mark Olesen's avatar
      bool and Switch reworked · c20ab11a
      Mark Olesen authored
      - Switch now stores its value as an unsigned char, which gives it the same
        storage requirement as bool (1 byte). The original implementation had both
        bool+word (1+XXX bytes storage), an intermediate version with bool+enum
        had 8 bytes (1+4 + boundary alignment).
      
      - The reading code in boolIO.C and SwitchIO.C is now identical except for
        the error message. This allows Switch to accept '1', '0' as logical
        values, and allows bool to accept 'yes', 'no' etc. as logical values.
      
      - The Switch text translation of a bool value is now true/false instead of
        on/off. This is partly personal preference, but we could also output the
        same text when writing a bool value to Ostream.
      
      - Switch gets null and integer constructors so it feels more like bool.
        Added Switch::operator=(const bool);
      
      - Low-level types can be used for the constructors, and low-level return
        values are used for the greatest flexibility (and speed).
      
      - Fixed bugginess with dictionary lookup. The previous version actually used
        a bool instead of a Switch and bombed on 'on/off'.
      
      TODO?
        perhaps don't worry about the error message and just call the Switch
        routines from bool.
      c20ab11a
    • Mark Olesen's avatar
      cosmetic cleanups · d5cbc3bf
      Mark Olesen authored
      - grammar in comments, namespace qualifiers, etc.
      d5cbc3bf
    • Mark Olesen's avatar
      7aee58e5
    • Mark Olesen's avatar
      minor cleanup for reverted string changes (commit 4f5f66e7) · 3adf0f5c
      Mark Olesen authored
      - put back debug switch (even although it is never used)
      - remove stringsGlobals.C, since it is now never used
      3adf0f5c
    • Mark Olesen's avatar
      b6b5eb17
    • Mark Olesen's avatar
      consistency update for null pointers · 246d569c
      Mark Olesen authored
      - uniform use of reinterpret_cast<foo*>(0) instead of
        reinterpret_cast<foo*>(NULL)
      
      - make all static null() members inline since they are really only a cast:
            "*reinterpret_cast<foo*>(0)"
      246d569c
  4. 15 Jan, 2009 3 commits
  5. 14 Jan, 2009 1 commit
  6. 12 Jan, 2009 2 commits
  7. 11 Jan, 2009 3 commits
  8. 10 Jan, 2009 3 commits
  9. 09 Jan, 2009 5 commits
  10. 08 Jan, 2009 2 commits
  11. 07 Jan, 2009 1 commit
  12. 06 Jan, 2009 1 commit
  13. 31 Dec, 2008 1 commit
  14. 07 Jan, 2009 1 commit
  15. 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
      cb65f1c7
    • Mark Olesen's avatar
      reworked regExp + wordRe a bit, minor change to keyType · 3c5852eb
      Mark Olesen authored
      regExp:
      - 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
      
      wordRe:
      - 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
          literal).
      3c5852eb
    • 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.
      19503c93
    • 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
      461ac4b4
  16. 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
          operator=(std::string&)
          rely on automatic conversion to Foam::string
        - ditch partialMatch with sub-groups, it doesn't make much sense
      2717aa5c
    • 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