Skip to content
Snippets Groups Projects
  1. Nov 22, 2018
  2. Nov 21, 2018
  3. Nov 20, 2018
    • Mark OLESEN's avatar
      ENH: modernize code in dimensionSet, dimensionSets · 5a9a2935
      Mark OLESEN authored
      - 'unfriend' operators on dimensionSet, since they operate without
        requiring access to non-public members.
      
      - add missing invTransform() function for dimensionSet.
      
      - make inv(const dimensionSet&) available as
        operator~(const dimensionSet&), which can be used instead
        of (dimless/ds).
      5a9a2935
    • Mark OLESEN's avatar
      ENH: added dimensionedType::writeEntry method · 72c4b318
      Mark OLESEN authored
      - writing of dictionary entry with the name of the dimensionedType
        suppressed if it is identical to the keyword.
        This corresponds to the input requirements.
      72c4b318
    • Mark OLESEN's avatar
      ENH: add read guard for dimensionedType constructors (#762) · dd87c983
      Mark OLESEN authored
      - deprecate dimensionedType constructors using an Istream in favour of
        versions accepting a keyword and a dictionary.
      
        Dictionary entries are almost the exclusive means of read
        constructing a dimensionedType. By construct from the dictionary
        entry instead of doing a lookup() first, we can detect possible
        input errors such as too many tokens as a result of a input syntax
        error.
      
        Constructing a dimensionedType from a dictionary entry now has
        two forms.
      
        1.  dimensionedType(key, dims, dict);
      
            This is the constructor that will normally be used.
      
            It accepts entries with optional leading names and/or
            dimensions. If the entry contains dimensions, they are
            verified against the expected dimensions and an IOError is
            raised if they do not correspond. On conclusion, checks the
            token stream for any trailing rubbish.
      
        2.  dimensionedType(key, dict);
      
            This constructor is used less frequently.
      
            Similar to the previous description, except that it is initially
            dimensionless. If entry contains dimensions, they are used
            without further verification. The constructor also includes a
            token stream check.
      
            This constructor is useful when the dimensions are entirely
            defined from the dictionary input, but also when handling
            transition code where the input dimensions are not obvious from
            the source.
      
            This constructor can also be handy when obtaining values from
            a dictionary without needing to worry about the input dimensions.
            For example,
      
               Info<< "rho: " << dimensionedScalar("rho", dict).value() << nl;
      
            This will accept a large range of inputs without hassle.
      
      ENH: consistent handling of dimensionedType for inputs (#1083)
      
      BUG: incorrect Omega dimensions (fixes #2084)
      dd87c983
    • Mark OLESEN's avatar
      ENH: use dictionary::get<> instead of pTraits (#762) · efdbeae2
      Mark OLESEN authored
      - check Istream in readBool in operator>> variant (#1033)
      efdbeae2
  4. Nov 19, 2018
  5. Nov 16, 2018
  6. Nov 15, 2018
  7. Nov 14, 2018
  8. Nov 15, 2018
    • Mark OLESEN's avatar
      ENH: code reduction in MeshObject (#1071) · c5998105
      Mark OLESEN authored
      - use forwarding templates for the factory method
      
      - avoid double use of dynamic_cast.
        Don't need implicit use in isA<>, can use result directly
      
      STYLE: updated iteration over HashTable of mesh objects
      c5998105
  9. Nov 16, 2018
  10. Nov 14, 2018
  11. Nov 13, 2018
  12. Nov 12, 2018
  13. Nov 11, 2018
  14. Nov 10, 2018
    • Mark OLESEN's avatar
      ENH: simplify/extend objectRegistry code with templated predicates · 4965ea49
      Mark OLESEN authored
      - replace explicit use of wordRe, wordRes, wordHashSet as filters
        with a MatchPredicate.
      
      - support filtering by class based on <Type> or predicates
      4965ea49
    • Mark OLESEN's avatar
      ENH: add IOobject::isHeaderClassName() method · f44e59fb
      Mark OLESEN authored
      - in parameter form, check if it headerClassName() corresponds to the
        specified class name
      
      - in templated form, check if headerClassName() corresponds to the
        Type:typeName value.
        Specialization for <void> always returns true (ie, no checks)
      f44e59fb
    • Mark OLESEN's avatar
      ENH: simplify/extend IOobjectList code with templated predicates · 8562e527
      Mark OLESEN authored
      - replace explicit use of word, wordRe, wordRes, wordHashSet as filters
        with a MatchPredicate, since they all satisfy the requirements for
        use a predicate. This change reduces code duplication, allows other
        matcher types (eg, keyType) as well as lambda functions.
      
      - add special treatment for a 'const char*' parameter
        for lookupClass() and the now-deprecated single item lookup() method
        to promote these parameters to 'word'.
      8562e527
  15. Nov 09, 2018
    • Mark OLESEN's avatar
      ENH: add IOobjectList::findObject() method · faaa93fd
      Mark OLESEN authored
      - naming similar to objectRegistry, with unambiguous resolution.
        The lookup() methods have different return types depending on the
        calling parameter.
      
      STYLE: use IOobjectListTemplates.C for implementations
      
      - previously included as local definition within IOobjectList.C,
        but will be adding more templated methods soon.
      
      - adjust parameters (eg, matchName instead of matcher) to show their
        function
      
      ENH: handle objectRegistry::names<void>(...)
      
      - this is equivalent to no Type restriction, and can be used when
        filtering names. Eg,
      
           obr.names<void>(wordRe..);
      faaa93fd
  16. Nov 11, 2018
  17. Nov 09, 2018