Skip to content
Snippets Groups Projects
  1. Nov 03, 2017
  2. Nov 01, 2017
  3. Oct 30, 2017
  4. Oct 29, 2017
    • Mark OLESEN's avatar
      ENH: consistent reverse iterator definitions for UList and FixedList · 6d32d95d
      Mark OLESEN authored
      - consistent with C++ STL conventions, the reverse iterators should
        use operator++ to transit the list from rbegin() to rend().
      
        The previous implementation used raw pointers, which meant that they
        had the opposite behaviour: operator-- to transit from rbegin() to
        rend().
      
        The updated version only has operator++ defined, thus the compiler
        should catch any possible instances where people were using the old
        (incorrect) versions.
      
      - updated forAllReverseIters() and forAllConstReverseIters() macros to
        be consistent with new implementation and with C++ STL conventions.
      6d32d95d
    • Mark OLESEN's avatar
      ENH: add reverse iteration macros · d09303ec
      Mark OLESEN authored
      - forAllReverseIters and forAllReverseConstIters macros
      - stdFoam::rbegin(), stdFoam::rend()
        stdFoam::crbegin(), stdFoam::crend()
      d09303ec
    • Mark OLESEN's avatar
      Merge branch 'feature-dictionary-scoping-lvalue' into 'develop' · d3fe4764
      Mark OLESEN authored
      Feature dictionary scoping lvalue
      
      See merge request !124
      d3fe4764
    • Mark OLESEN's avatar
      STYLE: code cleanup in stringOps · f7682dd3
      Mark OLESEN authored
      f7682dd3
    • Mark OLESEN's avatar
      ENH: retain original FoamFile dictionary header when including files. · 6bbc7ee0
      Mark OLESEN authored
      - previously using a top-level #include would inadvertently remove the
        original header
      6bbc7ee0
    • Mark OLESEN's avatar
      STYLE: code cleanup for includeEntry · da582f1c
      Mark OLESEN authored
      da582f1c
    • Mark OLESEN's avatar
      ENH: simplify parsing logic in ISstream · 15ddb5a8
      Mark OLESEN authored
      15ddb5a8
    • Mark OLESEN's avatar
      ENH: support "one-shot" changes to the dictionary inputMode (issue #429) · d06b5ea8
      Mark OLESEN authored
      - Instead of relying on #inputMode to effect a global change it is now
        possible (and recommended) to a temporary change in the inputMode
        for the following entry.
      
           #default   : provide default value if entry is not already defined
           #overwrite : silently remove a previously existing entry
           #warn      : warn about duplicate entries
           #error     : error if any duplicate entries occur
           #merge     : merge sub-dictionaries when possible (the default mode)
      
        This is generally less cumbersome than the switching the global
        inputMode. For example to provide a set of fallback values.
      
            #includeIfPresent "user-files"
            ...
            #default value uniform 10;
      
        vs.
      
            #includeIfPresent "user-files"
            #inputMode protect
            ...
            value uniform 10;
            #inputMode merge    // _Assuming_ we actually had this before
      
        These directives can also be used to suppress the normal dictionary
        merge semantics:
      
           #overwrite dict { entry val; ... }
      d06b5ea8
    • Mark OLESEN's avatar
      ENH: support full-scoping for keywords as lvalue (issue #429) · 320d573a
      Mark OLESEN authored
      - patterns only supported for the final element.
      
        To create an element as a pattern instead of a word, an embedded
        string quote (single or double) is used for that element.
        Any of the following examples:
      
            "/top/sub/dict/'(p|U).*"     100;
            "/top/sub/dict/'(p|U).*'"    100;
            "/top/sub/dict/\"(p|U).*"    100;
            "/top/sub/dict/\"(p|U).*\""  100;
      
        are equivalent to the longer form:
      
            top
            {
                sub
                {
                    dict
                    {
                        "(p|U).*"     100;
                    }
                }
            }
      
        It is not currently possible to auto-vivify intermediate
        dictionaries with patterns.
      
          NOK   "/nonexistent.*/value"   100;
          OK    "/existing.*/value"      100;
      
      - full scoping also works for the #remove directive
      
              #remove "/dict1/subdict2/entry1"
      320d573a
    • Mark OLESEN's avatar
      ENH: support '/' separators in foamDictionary · 736eea7f
      Mark OLESEN authored
      - convenience -diffEtc option that behaves like -diff, but invokes
        foamEtcFile searching
      
      STYLE: modernize code.
      736eea7f
    • Mark OLESEN's avatar
      ENH: add dictionary searcher methods · 1e0ee9a8
      Mark OLESEN authored
      - csearch(), search(), csearchScoped(), searchScoped() methods
        can be used to find an entry and also retain the enclosing
        dictionary context.
      
      - To avoid ambiguity between a dot (.) as a scoping character and
        legal part of a keyword, entries can now be accessed directly using
        slash-scoping semantics similar to file-names:
      
          * cfindScopedDictPtr, findScopedDictPtr
      
      - To get or create a sub-dictionary entry:
      
          * makeScopedDictPtr, which behaves similarly to mkdirp in that it
            will create any intermediate dictionaries as required.
      1e0ee9a8
  5. Oct 28, 2017
  6. Oct 26, 2017
  7. Oct 25, 2017