openfoam/applications
Mark Olesen c0a50dc621 ENH: improve overall consistency of the HashTable and its iterators
- previously had a mismash of const/non-const attributes on iterators
  that were confused with the attributes of the object being accessed.

- use the iterator keys() and object() methods consistently for all
  internal access of the HashTable iterators. This makes the intention
  clearer, the code easier to maintain, and protects against any
  possible changes in the definition of the operators.

- 'operator*': The standard form expected by STL libraries.
  However, for the std::map, this dereferences to a <key,value> pair,
  whereas OpenFOAM dereferences simply to <value>.

- 'operator()': OpenFOAM treats this like the 'operator*'

- adjusted the values of end() and cend() to reinterpret from nullObject
  instead of returning a static iteratorEnd() object.
  This means that C++ templates can now correctly deduce and match
  the return types from begin() and end() consistently.
  So that range-based now works.

  Eg,
      HashTable<label> table1 = ...;
      for (auto i : table1)
      {
          Info<< i << endl;
      }

  Since the 'operator*' returns hash table values, this prints all the
  values in the table.
2017-05-02 00:15:12 +02:00
..
solvers Merge remote-tracking branch 'origin/master' into develop 2017-04-07 09:28:26 +02:00
test ENH: improve overall consistency of the HashTable and its iterators 2017-05-02 00:15:12 +02:00
utilities Merge branch 'dict-lookup' into 'develop' 2017-05-02 16:37:57 +01:00
Allwmake ENH: reduce reliance on FOAM_EXT_LIBBIN during builds 2017-04-04 15:28:42 +02:00