Skip to content
Snippets Groups Projects
  1. Oct 30, 2017
  2. 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...
      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
  3. Oct 28, 2017
  4. Oct 26, 2017
  5. Oct 25, 2017
  6. Oct 24, 2017