33template<
class IDLListType,
class T>
36 for (
auto iter = this->begin(); iter != this->end(); ++iter)
38 this->hashedTs_.insert((*iter).keyword(), &(*iter));
45template<
class IDLListType,
class T>
52template<
class IDLListType,
class T>
64template<
class IDLListType,
class T>
78template<
class IDLListType,
class T>
89template<
class IDLListType,
class T>
92 return hashedTs_.found(keyword);
96template<
class IDLListType,
class T>
102 const auto iter = hashedTs_.cfind(keyword);
113template<
class IDLListType,
class T>
116 auto iter = hashedTs_.find(keyword);
127template<
class IDLListType,
class T>
130 const auto iter = hashedTs_.cfind(keyword);
135 <<
"'" << keyword <<
"' not found"
143template<
class IDLListType,
class T>
146 auto iter = hashedTs_.find(keyword);
151 <<
"'" << keyword <<
"' not found"
159template<
class IDLListType,
class T>
165 return hashedTs_.sortedToc();
169template<
class IDLListType,
class T>
172 return hashedTs_.sortedToc();
176template<
class IDLListType,
class T>
177template<
class Compare>
183 return hashedTs_.sortedToc(comp);
187template<
class IDLListType,
class T>
191 hashedTs_.insert(keyword, ptr);
192 IDLListType::prepend(ptr);
196template<
class IDLListType,
class T>
200 hashedTs_.insert(keyword, ptr);
201 IDLListType::append(ptr);
205template<
class IDLListType,
class T>
208 auto iter = hashedTs_.find(keyword);
212 T* ptr = IDLListType::remove(iter());
213 hashedTs_.erase(iter);
221template<
class IDLListType,
class T>
224 IDLListType::clear();
229template<
class IDLListType,
class T>
240 IDLListType::transfer(
dict);
241 hashedTs_.transfer(
dict.hashedTs_);
247template<
class IDLListType,
class T>
258 IDLListType::operator=(
dict);
259 this->hashedTs_.clear();
Base dictionary class templated on both the form of doubly-linked list it uses as well as the type it...
T * find(const word &keyword)
Find and return an entry, nullptr on failure.
wordList sortedToc() const
Return the table of contents as a sorted list.
void clear()
Clear the dictionary.
wordList toc() const
Return the table of contents (as a sorted list)
const T * cfind(const word &keyword) const
Find and return an entry, nullptr on failure.
void prepend(const word &keyword, T *ptr)
Add to front of dictionary.
A helper class when constructing from an Istream or dictionary.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
unsigned int remove()
Remove and return the last element.
Lookup type of boundary radiation properties.
transferModelList & transfer()
Transfer.
bool append() const noexcept
True if output format uses an append mode.
A class for handling words, derived from Foam::string.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
errorManipArg< error, int > exit(error &err, const int errNo=1)