DictionaryBase< IDLListType, T > Class Template Reference

Base dictionary class templated on both the form of doubly-linked list it uses as well as the type it holds. More...

Inheritance diagram for DictionaryBase< IDLListType, T >:
Collaboration diagram for DictionaryBase< IDLListType, T >:

Public Member Functions

 DictionaryBase (const label size=128)
 Construct given initial table size. More...
 
 DictionaryBase (const DictionaryBase &)
 Copy constructor. More...
 
 DictionaryBase (DictionaryBase &&)
 Move constructor. More...
 
template<class INew >
 DictionaryBase (Istream &, const INew &)
 Construct from Istream using given Istream constructor class. More...
 
 DictionaryBase (Istream &)
 Construct from Istream using default Istream constructor class. More...
 
bool found (const word &) const
 Search DictionaryBase for given keyword. More...
 
const TlookupPtr (const word &) const
 Find and return an entry if present, otherwise return nullptr. More...
 
TlookupPtr (const word &)
 Find and return an entry if present, otherwise return nullptr. More...
 
const Tlookup (const word &) const
 Find and return entry. More...
 
Tlookup (const word &)
 Find and return entry. More...
 
wordList toc () const
 Return the table of contents. More...
 
wordList sortedToc () const
 Return the table of contents as a sorted list. More...
 
void insert (const word &, T *)
 Add at head of dictionary. More...
 
void append (const word &, T *)
 Add at tail of dictionary. More...
 
Tremove (const word &)
 Remove and return entry specified by keyword. More...
 
void clear ()
 Clear the dictionary. More...
 
void transfer (DictionaryBase< IDLListType, T > &)
 Transfer the contents of the argument into this DictionaryBase. More...
 
void operator= (const DictionaryBase &)
 
const Toperator[] (const word &key) const
 Find and return entry. More...
 
Toperator[] (const word &key)
 Find and return entry. More...
 

Protected Member Functions

void addEntries ()
 

Protected Attributes

HashTable< T * > hashedTs_
 HashTable of the entries held on the IDLListType for quick lookup. More...
 

Friends

Ostreamoperator (Ostream &, const DictionaryBase< IDLListType, T > &)
 

Detailed Description

template<class IDLListType, class T>
class Foam::DictionaryBase< IDLListType, T >

Base dictionary class templated on both the form of doubly-linked list it uses as well as the type it holds.

The double templating allows for the instantiation of forms with or without storage management.

Note: The IDLListType parameter should itself be a template but this confused gcc 2.95.2 so it has to be instantiated for T when an instantiation of DictionaryBase is requested

See also
Dictionary and UDictionary
Source files

Definition at line 61 of file DictionaryBase.H.

Constructor & Destructor Documentation

◆ DictionaryBase() [1/5]

DictionaryBase ( const label  size = 128)

Construct given initial table size.

Definition at line 48 of file DictionaryBase.C.

Referenced by DictionaryBase< DLPtrList< T >, T >::DictionaryBase().

Here is the caller graph for this function:

◆ DictionaryBase() [2/5]

DictionaryBase ( const DictionaryBase< IDLListType, T > &  dict)

Copy constructor.

Definition at line 56 of file DictionaryBase.C.

◆ DictionaryBase() [3/5]

DictionaryBase ( DictionaryBase< IDLListType, T > &&  dict)

Move constructor.

Definition at line 68 of file DictionaryBase.C.

◆ DictionaryBase() [4/5]

DictionaryBase ( Istream is,
const INew iNew 
)

Construct from Istream using given Istream constructor class.

Definition at line 80 of file DictionaryBase.C.

◆ DictionaryBase() [5/5]

Construct from Istream using default Istream constructor class.

Definition at line 92 of file DictionaryBase.C.

Member Function Documentation

◆ addEntries()

void addEntries ( )
protected

Definition at line 31 of file DictionaryBase.C.

◆ found()

bool found ( const word keyword) const

Search DictionaryBase for given keyword.

Definition at line 103 of file DictionaryBase.C.

◆ lookupPtr() [1/2]

const T * lookupPtr ( const word keyword) const

Find and return an entry if present, otherwise return nullptr.

Definition at line 111 of file DictionaryBase.C.

Referenced by DictionaryBase< DLPtrList< T >, T >::found().

Here is the caller graph for this function:

◆ lookupPtr() [2/2]

T * lookupPtr ( const word keyword)

Find and return an entry if present, otherwise return nullptr.

Definition at line 129 of file DictionaryBase.C.

◆ lookup() [1/2]

const T * lookup ( const word keyword) const

Find and return entry.

Definition at line 145 of file DictionaryBase.C.

Referenced by DictionaryBase< DLPtrList< T >, T >::operator[]().

Here is the caller graph for this function:

◆ lookup() [2/2]

T * lookup ( const word keyword)

Find and return entry.

Definition at line 161 of file DictionaryBase.C.

◆ toc()

Foam::wordList toc ( ) const

Return the table of contents.

Definition at line 177 of file DictionaryBase.C.

◆ sortedToc()

Foam::wordList sortedToc ( ) const

Return the table of contents as a sorted list.

Definition at line 197 of file DictionaryBase.C.

◆ insert()

void insert ( const word keyword,
T tPtr 
)

Add at head of dictionary.

Definition at line 204 of file DictionaryBase.C.

Referenced by fvModels::source().

Here is the caller graph for this function:

◆ append()

void append ( const word keyword,
T tPtr 
)

Add at tail of dictionary.

Definition at line 213 of file DictionaryBase.C.

◆ remove()

T * remove ( const word keyword)

Remove and return entry specified by keyword.

Return nullptr if the keyword was not found.

Definition at line 222 of file DictionaryBase.C.

◆ clear()

void clear ( )

Clear the dictionary.

Definition at line 240 of file DictionaryBase.C.

◆ transfer()

void transfer ( DictionaryBase< IDLListType, T > &  dict)

Transfer the contents of the argument into this DictionaryBase.

and annul the argument.

Definition at line 249 of file DictionaryBase.C.

Referenced by DictionaryBase< DLPtrList< T >, T >::clear().

Here is the caller graph for this function:

◆ operator=()

void operator= ( const DictionaryBase< IDLListType, T > &  )

Definition at line 262 of file DictionaryBase.C.

◆ operator[]() [1/2]

const T* operator[] ( const word key) const
inline

Find and return entry.

Definition at line 162 of file DictionaryBase.H.

◆ operator[]() [2/2]

T* operator[] ( const word key)
inline

Find and return entry.

Definition at line 168 of file DictionaryBase.H.

Friends And Related Function Documentation

◆ operator

Ostream& operator ( Ostream ,
const DictionaryBase< IDLListType, T > &   
)
friend

Member Data Documentation

◆ hashedTs_

HashTable<T*> hashedTs_
protected

HashTable of the entries held on the IDLListType for quick lookup.

Definition at line 81 of file DictionaryBase.H.

Referenced by DictionaryBase< DLPtrList< T >, T >::transfer().


The documentation for this class was generated from the following files: