UPtrListDictionary< T > Class Template Reference

Template dictionary class which manages the storage associated with it. More...

Inheritance diagram for UPtrListDictionary< T >:
Collaboration diagram for UPtrListDictionary< T >:

Public Member Functions

 UPtrListDictionary (const label size)
 Construct given initial list size. More...
 
 UPtrListDictionary (const UPtrListDictionary &)
 Copy constructor. More...
 
 UPtrListDictionary (const PtrListDictionary< T > &)
 Copy constructor of PtrListDictionary. More...
 
 UPtrListDictionary (UPtrListDictionary &&)
 Move constructor. More...
 
bool set (const label) const
 Is element set. More...
 
Tset (const label, const word &key, T *)
 Set element. Return old element (can be nullptr). More...
 
const Toperator[] (const word &key) const
 Find and return entry. More...
 
Toperator[] (const word &key)
 Find and return entry. More...
 
- Public Member Functions inherited from DictionaryBase< UPtrList< T >, T >
 DictionaryBase (const label size=128)
 Construct given initial table size. More...
 
 DictionaryBase (const DictionaryBase &)
 Copy constructor. More...
 
 DictionaryBase (DictionaryBase &&)
 Move constructor. More...
 
 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 T * lookupPtr (const word &) const
 Find and return an entry if present, otherwise return nullptr. More...
 
T * lookupPtr (const word &)
 Find and return an entry if present, otherwise return nullptr. More...
 
const T * lookup (const word &) const
 Find and return entry. More...
 
T * lookup (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...
 
T * remove (const word &)
 Remove and return entry specified by keyword. More...
 
void clear ()
 Clear the dictionary. More...
 
void transfer (DictionaryBase< UPtrList< T >, T > &)
 Transfer the contents of the argument into this DictionaryBase. More...
 
void operator= (const DictionaryBase &)
 
const T * operator[] (const word &key) const
 Find and return entry. More...
 
T * operator[] (const word &key)
 Find and return entry. More...
 
- Public Member Functions inherited from UPtrList< T >
 UPtrList ()
 Null Constructor. More...
 
 UPtrList (const label)
 Construct with size specified. More...
 
 UPtrList (UPtrList< T > &, bool reuse)
 Construct as copy or reuse as specified. More...
 
label size () const
 Return the number of elements in the UPtrList. More...
 
bool empty () const
 Return true if the UPtrList is empty (ie, size() is zero) More...
 
Tfirst ()
 Return reference to the first element of the list. More...
 
const Tfirst () const
 Return reference to first element of the list. More...
 
Tlast ()
 Return reference to the last element of the list. More...
 
const Tlast () const
 Return reference to the last element of the list. More...
 
void setSize (const label)
 Reset size of UPtrList. This can only be used to set the size. More...
 
void resize (const label)
 Reset size of UPtrList. This can only be used to set the size. More...
 
void clear ()
 Clear the UPtrList, i.e. set size to zero. More...
 
void append (T *)
 Append an element at the end of the list. More...
 
void transfer (UPtrList< T > &)
 Transfer the contents of the argument UPtrList into this. More...
 
bool set (const label) const
 Is element set. More...
 
Tset (const label, T *)
 Set element. Return old element (can be nullptr). More...
 
void reorder (const labelUList &oldToNew)
 Reorders elements. Ordering does not have to be done in. More...
 
void shuffle (const labelUList &newToOld)
 Reorders elements. Ordering does not have to be done in. More...
 
template<class T2 >
UPtrList< T2 > convert ()
 Convert to list of different pointer type. More...
 
template<class T2 >
UPtrList< const T2 > convert () const
 Convert to list of different pointer type. More...
 
const Toperator[] (const label) const
 Return element const reference. More...
 
Toperator[] (const label)
 Return element reference. More...
 
const Toperator() (const label) const
 Return element const pointer. More...
 
Toperator() (const label)
 Return element const pointer. More...
 
iterator begin ()
 Return an iterator to begin traversing the UPtrList. More...
 
iterator end ()
 Return an iterator to end traversing the UPtrList. More...
 
const_iterator cbegin () const
 Return an const_iterator to begin traversing the UPtrList. More...
 
const_iterator cend () const
 Return an const_iterator to end traversing the UPtrList. More...
 
const_iterator begin () const
 Return an const_iterator to begin traversing the UPtrList. More...
 
const_iterator end () const
 Return an const_iterator to end traversing the UPtrList. More...
 
template<class T2 >
Foam::UPtrList< T2 > convert ()
 
template<class T2 >
Foam::UPtrList< const T2 > convert () const
 

Additional Inherited Members

- Public Types inherited from UPtrList< T >
typedef T value_type
 Type of values the UPtrList contains. More...
 
typedef Treference
 Type that can be used for storing into UPtrList::value_type objects. More...
 
typedef const Tconst_reference
 Type that can be used for storing into constant UPtrList::value_type. More...
 
- Protected Member Functions inherited from DictionaryBase< UPtrList< T >, T >
void addEntries ()
 
- Protected Attributes inherited from DictionaryBase< UPtrList< T >, T >
HashTable< T * > hashedTs_
 HashTable of the entries held on the IDLListType for quick lookup. More...
 

Detailed Description

template<class T>
class Foam::UPtrListDictionary< T >

Template dictionary class which manages the storage associated with it.

It is derived from DictionaryBase instantiated on the UPtrList of <T> to provide ordered indexing in addition to the dictionary lookup.

Source files

Definition at line 56 of file UPtrListDictionary.H.

Constructor & Destructor Documentation

◆ UPtrListDictionary() [1/4]

UPtrListDictionary ( const label  size)

Construct given initial list size.

Definition at line 32 of file UPtrListDictionary.C.

References UPtrList< T >::setSize(), and UPtrList< T >::size().

Here is the call graph for this function:

◆ UPtrListDictionary() [2/4]

UPtrListDictionary ( const UPtrListDictionary< T > &  dict)

Copy constructor.

Definition at line 41 of file UPtrListDictionary.C.

◆ UPtrListDictionary() [3/4]

UPtrListDictionary ( const PtrListDictionary< T > &  dict)

Copy constructor of PtrListDictionary.

Definition at line 48 of file UPtrListDictionary.C.

References dict, DictionaryBase< UPtrList< T >, T >::hashedTs_, and Foam::T().

Here is the call graph for this function:

◆ UPtrListDictionary() [4/4]

Move constructor.

Definition at line 61 of file UPtrListDictionary.C.

Member Function Documentation

◆ set() [1/2]

bool set ( const label  i) const
inline

Is element set.

Definition at line 70 of file UPtrListDictionary.C.

Referenced by PtrListDictionary< T >::convert().

Here is the caller graph for this function:

◆ set() [2/2]

T * set ( const label  i,
const word key,
T ptr 
)
inline

Set element. Return old element (can be nullptr).

No checks on new element

Definition at line 77 of file UPtrListDictionary.C.

◆ operator[]() [1/2]

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

Find and return entry.

Definition at line 93 of file UPtrListDictionary.H.

References DictionaryBase< UPtrList< T >, T >::operator, and Foam::T().

Here is the call graph for this function:

◆ operator[]() [2/2]

T& operator[] ( const word key)
inline

Find and return entry.

Definition at line 99 of file UPtrListDictionary.H.

References DictionaryBase< UPtrList< T >, T >::operator, and Foam::T().

Here is the call graph for this function:

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