Commit c6c79ab3 authored by Mark Olesen's avatar Mark Olesen
Browse files

STYLE: use std::pair (not Tuple2) in conjunction with std::initializer_list

- no penalty compared to Tuple2, potential future benefits with C++
  constructor forwarding.
parent fb497164
......@@ -900,12 +900,10 @@ void Foam::conformalVoronoiMesh::writeMesh
mesh.addFvPatches(patches);
// Add zones to the mesh
addZones(mesh, cellCentres);
Info<< indent << "Add pointZones" << endl;
{
label sz = mesh.pointZones().size();
......@@ -914,6 +912,9 @@ void Foam::conformalVoronoiMesh::writeMesh
forAll(dualMeshPointTypeNames_, typeI)
{
const word& znName =
dualMeshPointTypeNames_[dualMeshPointType(typeI)];
forAll(boundaryPts, ptI)
{
const label& bPtType = boundaryPts[ptI];
......@@ -928,14 +929,14 @@ void Foam::conformalVoronoiMesh::writeMesh
Info<< incrIndent << indent
<< "Adding " << bPts.size()
<< " points of type " << dualMeshPointTypeNames_.words()[typeI]
<< " points of type " << znName
<< decrIndent << endl;
mesh.pointZones().append
(
new pointZone
(
dualMeshPointTypeNames_.words()[typeI],
znName,
bPts,
sz + typeI,
mesh.pointZones()
......
......@@ -29,7 +29,6 @@ License
#include "HashTable.H"
#include "List.H"
#include "FixedList.H"
#include "Tuple2.H"
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
......@@ -112,14 +111,14 @@ Foam::HashTable<T, Key, Hash>::HashTable
template<class T, class Key, class Hash>
Foam::HashTable<T, Key, Hash>::HashTable
(
std::initializer_list<Tuple2<Key, T>> lst
std::initializer_list<std::pair<Key, T>> lst
)
:
HashTable<T, Key, Hash>(2*lst.size())
{
for (const Tuple2<Key, T>& pair : lst)
for (const auto& pair : lst)
{
insert(pair.first(), pair.second());
insert(pair.first, pair.second);
}
}
......@@ -889,7 +888,7 @@ void Foam::HashTable<T, Key, Hash>::operator=
template<class T, class Key, class Hash>
void Foam::HashTable<T, Key, Hash>::operator=
(
std::initializer_list<Tuple2<Key, T>> lst
std::initializer_list<std::pair<Key, T>> lst
)
{
// Could be zero-sized from a previous transfer()
......@@ -904,7 +903,7 @@ void Foam::HashTable<T, Key, Hash>::operator=
for (const auto& pair : lst)
{
insert(pair.first(), pair.second());
insert(pair.first, pair.second);
}
}
......
......@@ -62,6 +62,7 @@ SourceFiles
#include <initializer_list>
#include <iterator>
#include <utility>
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
......@@ -73,7 +74,6 @@ namespace Foam
template<class T> class List;
template<class T> class UList;
template<class T, unsigned Size> class FixedList;
template<class T1, class T2> class Tuple2;
template<class T, class Key, class Hash> class HashTable;
template<class T, class Key, class Hash>
......@@ -212,7 +212,7 @@ private:
// Private data type for table entries
//- Structure to hold a hashed entry, with a SLList for collisions
//- Structure to hold a hashed entry, with a linked-list for collisions
struct hashedEntry
{
//- The lookup key
......@@ -224,7 +224,7 @@ private:
//- Pointer to next hashedEntry in sub-list
hashedEntry* next_;
//- Construct from key, next pointer and object
//- Construct from key, object, next pointer
inline hashedEntry(const Key& key, const T& obj, hashedEntry* next);
private:
......@@ -296,7 +296,7 @@ public:
HashTable(const Xfer<HashTable<T, Key, Hash>>& ht);
//- Construct from an initializer list
HashTable(std::initializer_list<Tuple2<Key, T>> lst);
HashTable(std::initializer_list<std::pair<Key, T>> lst);
//- Destructor
......@@ -558,7 +558,7 @@ public:
void operator=(const HashTable<T, Key, Hash>& rhs);
//- Assignment from an initializer list
void operator=(std::initializer_list<Tuple2<Key, T>> lst);
void operator=(std::initializer_list<std::pair<Key, T>> lst);
//- Equality. Hash tables are equal if the keys and values are equal.
// Independent of table storage size and table order.
......
......@@ -96,7 +96,7 @@ public:
{}
//- Construct from an initializer list
Map(std::initializer_list<Tuple2<label, T>> map)
Map(std::initializer_list<std::pair<label, T>> map)
:
parent_type(map)
{}
......
......@@ -54,6 +54,7 @@ SourceFiles
#include "profilingTrigger.H"
#include "HashPtrTable.H"
#include "Tuple2.H"
#include "LIFOStack.H"
#include "Map.H"
#include "Time.H"
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment