LPtrList< LListBase, T > Class Template Reference

Template class for non-intrusive linked PtrLists. More...

Inheritance diagram for LPtrList< LListBase, T >:
[legend]
Collaboration diagram for LPtrList< LListBase, T >:
[legend]

Classes

class  const_iterator
 An STL-conforming const_iterator. More...
 
class  const_reverse_iterator
 
class  iterator
 An STL-conforming iterator. More...
 
class  reverse_iterator
 

Public Types

typedef Tpointer
 Pointer for LPtrList::value_type objects. More...
 
typedef const Tconst_pointer
 Const pointer for LPtrList::value_type objects. More...
 
typedef Treference
 Reference for LPtrList::value_type objects. More...
 
typedef const Tconst_reference
 Const reference for LPtrList::value_type objects. More...
 
using base_iterator = typename LListBase::iterator
 
using const_base_iterator = typename LListBase::const_iterator
 
typedef LList< LListBase, T * > parent_type
 The parent list storage. More...
 
- Public Types inherited from LList< LListBase, T * >
typedef Tvalue_type
 Type of values stored. More...
 
typedef T * * pointer
 Pointer for value_type. More...
 
typedef const T * * const_pointer
 Const pointer for value_type. More...
 
typedef T * & reference
 Reference for value_type. More...
 
typedef const T * & const_reference
 Const reference for value_type. More...
 
typedef label size_type
 The type that can represent the container size. More...
 
typedef label difference_type
 The difference between iterators. More...
 
using base_iterator = typename LListBase::iterator
 
using const_base_iterator = typename LListBase::const_iterator
 

Public Member Functions

 LPtrList ()=default
 Default construct. More...
 
 LPtrList (T *item)
 Construct and add initial item pointer. More...
 
 LPtrList (const LPtrList &lst)
 Copy construct by using 'clone()' for each element. More...
 
 LPtrList (LPtrList &&lst)
 Move construct. More...
 
template<class INew >
 LPtrList (Istream &is, const INew &inew)
 Construct from Istream using given Istream constructor class. More...
 
 LPtrList (Istream &is)
 Construct from Istream using default Istream constructor class. More...
 
 ~LPtrList ()
 Destructor. More...
 
Tfirst ()
 The first entry in the list. More...
 
const Tfirst () const
 The first entry in the list (const access) More...
 
Tlast ()
 The last entry in the list. More...
 
const Tlast () const
 The last entry in the list (const access) More...
 
bool eraseHead ()
 Remove the head element from the list and delete the pointer. More...
 
void clear ()
 Clear the contents of the list. More...
 
void transfer (LPtrList< LListBase, T > &lst)
 
void operator= (const LPtrList< LListBase, T > &lst)
 Copy assign by using 'clone()' for each element. More...
 
void operator= (LPtrList< LListBase, T > &&lst)
 Move assign. More...
 
iterator begin ()
 Iterator to first item in list with non-const access. More...
 
const_iterator cbegin () const
 Iterator to first item in list with const access. More...
 
reverse_iterator rbegin ()
 Iterator to last item in list with non-const access. More...
 
const_reverse_iterator crbegin () const
 Iterator to last item in list with const access. More...
 
const_iterator begin () const
 Iterator to first item in list with const access. More...
 
const_reverse_iterator rbegin () const
 Iterator to last item in list with const access. More...
 
const iteratorend ()
 End of list for forward iterators. More...
 
const const_iteratorcend () const
 End of list for forward iterators. More...
 
const reverse_iteratorrend ()
 End of list for reverse iterators. More...
 
const const_reverse_iteratorcrend () const
 End of list for reverse iterators. More...
 
const const_iteratorend () const
 End of list for forward iterators. More...
 
const const_reverse_iteratorrend () const
 End of list for reverse iterators. More...
 
- Public Member Functions inherited from LList< LListBase, T * >
 LList ()=default
 Default construct. More...
 
 LList (const T * &elem)
 Construct and copy add initial item. More...
 
 LList (T * &&elem)
 Construct and move add initial item. More...
 
 LList (Istream &is)
 Construct from Istream. More...
 
 LList (const LList< LListBase, T * > &lst)
 Copy construct. More...
 
 LList (LList< LListBase, T * > &&lst)
 Move construct. More...
 
 LList (std::initializer_list< T * > lst)
 Copy construct from an initializer list. More...
 
 ~LList ()
 Destructor. More...
 
reference first ()
 The first entry in the list. More...
 
const_reference first () const
 The first entry in the list (const access) More...
 
reference last ()
 The last entry in the list. More...
 
const_reference last () const
 The last entry in the list (const access) More...
 
void prepend (const T * &elem)
 Add copy at front of list. More...
 
void prepend (T * &&elem)
 Move construct at front of list. More...
 
void append (const T * &elem)
 Add copy at back of list. More...
 
void append (T * &&elem)
 Move construct at back of list. More...
 
bool eraseHead ()
 Erase the first entry. More...
 
TremoveHead ()
 Remove and return first entry. More...
 
Tremove (link *item)
 Remove and return element. More...
 
Tremove (iterator &iter)
 Remove and return element specified by iterator. More...
 
void clear ()
 Delete contents of list. More...
 
void transfer (LList< LListBase, T * > &lst)
 
void operator= (const LList< LListBase, T * > &lst)
 Copy assignment. More...
 
void operator= (LList< LListBase, T * > &&lst)
 Move assignment. More...
 
void operator= (std::initializer_list< T * > lst)
 Copy assignment from an initializer list. More...
 
IstreamreadList (Istream &is)
 Read list from Istream. More...
 
OstreamwriteList (Ostream &os, const label shortLen=0) const
 Write LList with line-breaks when length exceeds shortLen. More...
 
iterator begin ()
 Iterator to first item in list with non-const access. More...
 
const_iterator begin () const
 Iterator to first item in list with const access. More...
 
const_iterator cbegin () const
 Iterator to first item in list with const access. More...
 
reverse_iterator rbegin ()
 Iterator to last item in list with non-const access. More...
 
const_reverse_iterator rbegin () const
 Iterator to last item in list with const access. More...
 
const_reverse_iterator crbegin () const
 Iterator to last item in list with const access. More...
 
const iterator & end ()
 End of list for forward iterators. More...
 
const const_iterator & end () const
 End of list for forward iterators. More...
 
const const_iterator & cend () const
 End of list for forward iterators. More...
 
const reverse_iterator & rend ()
 End of list for reverse iterators. More...
 
const const_reverse_iterator & rend () const
 End of list for reverse iterators. More...
 
const const_reverse_iterator & crend () const
 End of list for reverse iterators. More...
 
void insert (const T * &elem)
 Add copy at front of list. Same as prepend() More...
 
void insert (T * &&elem)
 Move construct at front of list. Same as prepend() More...
 

Friends

Istreamoperator>> (Istream &is, LPtrList< LListBase, T > &list)
 
Ostreamoperator (Ostream &os, const LPtrList< LListBase, T > &list)
 

Detailed Description

template<class LListBase, class T>
class Foam::LPtrList< LListBase, T >

Template class for non-intrusive linked PtrLists.

Source files

Definition at line 72 of file LPtrList.H.

Member Typedef Documentation

◆ pointer

typedef T* pointer

Pointer for LPtrList::value_type objects.

Definition at line 88 of file LPtrList.H.

◆ const_pointer

typedef const T* const_pointer

Const pointer for LPtrList::value_type objects.

Definition at line 91 of file LPtrList.H.

◆ reference

typedef T& reference

Reference for LPtrList::value_type objects.

Definition at line 94 of file LPtrList.H.

◆ const_reference

typedef const T& const_reference

Const reference for LPtrList::value_type objects.

Definition at line 97 of file LPtrList.H.

◆ base_iterator

Definition at line 105 of file LPtrList.H.

◆ const_base_iterator

Definition at line 106 of file LPtrList.H.

◆ parent_type

typedef LList<LListBase, T*> parent_type

The parent list storage.

Definition at line 109 of file LPtrList.H.

Constructor & Destructor Documentation

◆ LPtrList() [1/6]

LPtrList ( )
default

Default construct.

◆ LPtrList() [2/6]

LPtrList ( T item)
inlineexplicit

Construct and add initial item pointer.

Definition at line 118 of file LPtrList.H.

References LList< LListBase, T * >::prepend().

Here is the call graph for this function:

◆ LPtrList() [3/6]

LPtrList ( const LPtrList< LListBase, T > &  lst)

Copy construct by using 'clone()' for each element.

◆ LPtrList() [4/6]

LPtrList ( LPtrList< LListBase, T > &&  lst)

Move construct.

◆ LPtrList() [5/6]

LPtrList ( Istream is,
const INew inew 
)

Construct from Istream using given Istream constructor class.

Definition at line 124 of file LPtrListIO.C.

◆ LPtrList() [6/6]

LPtrList ( Istream is)
explicit

Construct from Istream using default Istream constructor class.

Definition at line 131 of file LPtrListIO.C.

◆ ~LPtrList()

Destructor.

Definition at line 57 of file LPtrList.C.

References clear().

Here is the call graph for this function:

Member Function Documentation

◆ first() [1/2]

T & first ( )
inline

The first entry in the list.

Definition at line 144 of file LPtrList.H.

References LList< LListBase, T * >::first().

Here is the call graph for this function:

◆ first() [2/2]

const T & first ( ) const
inline

The first entry in the list (const access)

Definition at line 150 of file LPtrList.H.

References LList< LListBase, T * >::first().

Here is the call graph for this function:

◆ last() [1/2]

T & last ( )
inline

The last entry in the list.

Definition at line 156 of file LPtrList.H.

References LList< LListBase, T * >::last().

Here is the call graph for this function:

◆ last() [2/2]

const T & last ( ) const
inline

The last entry in the list (const access)

Definition at line 162 of file LPtrList.H.

References LList< LListBase, T * >::last().

Here is the call graph for this function:

◆ eraseHead()

bool eraseHead

Remove the head element from the list and delete the pointer.

Definition at line 66 of file LPtrList.C.

References bool, p, and T.

◆ clear()

void clear

Clear the contents of the list.

Definition at line 75 of file LPtrList.C.

◆ transfer()

void transfer ( LPtrList< LListBase, T > &  lst)

Transfer the contents of the argument into this List and annul the argument list.

Definition at line 89 of file LPtrList.C.

References clear().

Here is the call graph for this function:

◆ operator=() [1/2]

void operator= ( const LPtrList< LListBase, T > &  lst)

Copy assign by using 'clone()' for each element.

Definition at line 99 of file LPtrList.C.

References append(), LPtrList< LListBase, T >::cbegin(), LPtrList< LListBase, T >::cend(), and clear().

Here is the call graph for this function:

◆ operator=() [2/2]

void operator= ( LPtrList< LListBase, T > &&  lst)

Move assign.

Definition at line 111 of file LPtrList.C.

◆ begin() [1/2]

iterator begin ( )
inline

Iterator to first item in list with non-const access.

Definition at line 344 of file LPtrList.H.

◆ cbegin()

const_iterator cbegin ( ) const
inline

Iterator to first item in list with const access.

Definition at line 350 of file LPtrList.H.

Referenced by LPtrList< LListBase, T >::operator=(), and PtrList< T >::PtrList().

Here is the caller graph for this function:

◆ rbegin() [1/2]

reverse_iterator rbegin ( )
inline

Iterator to last item in list with non-const access.

Definition at line 356 of file LPtrList.H.

◆ crbegin()

const_reverse_iterator crbegin ( ) const
inline

Iterator to last item in list with const access.

Definition at line 362 of file LPtrList.H.

Referenced by LPtrList< LListBase, T >::rbegin().

Here is the caller graph for this function:

◆ begin() [2/2]

const_iterator begin ( ) const
inline

Iterator to first item in list with const access.

Definition at line 368 of file LPtrList.H.

References edgeFaceCirculator::cbegin().

Here is the call graph for this function:

◆ rbegin() [2/2]

const_reverse_iterator rbegin ( ) const
inline

Iterator to last item in list with const access.

Definition at line 374 of file LPtrList.H.

References LPtrList< LListBase, T >::crbegin().

Here is the call graph for this function:

◆ end() [1/2]

const iterator & end ( )
inline

End of list for forward iterators.

Definition at line 381 of file LPtrList.H.

◆ cend()

const const_iterator & cend ( ) const
inline

End of list for forward iterators.

Definition at line 387 of file LPtrList.H.

Referenced by LPtrList< LListBase, T >::end(), LPtrList< LListBase, T >::operator=(), and PtrList< T >::PtrList().

Here is the caller graph for this function:

◆ rend() [1/2]

const reverse_iterator & rend ( )
inline

End of list for reverse iterators.

Definition at line 393 of file LPtrList.H.

◆ crend()

const const_reverse_iterator & crend ( ) const
inline

End of list for reverse iterators.

Definition at line 399 of file LPtrList.H.

Referenced by LPtrList< LListBase, T >::rend().

Here is the caller graph for this function:

◆ end() [2/2]

const const_iterator & end ( ) const
inline

End of list for forward iterators.

Definition at line 405 of file LPtrList.H.

References LPtrList< LListBase, T >::cend().

Here is the call graph for this function:

◆ rend() [2/2]

const const_reverse_iterator & rend ( ) const
inline

End of list for reverse iterators.

Definition at line 411 of file LPtrList.H.

References LPtrList< LListBase, T >::crend().

Here is the call graph for this function:

Friends And Related Function Documentation

◆ operator>>

Istream & operator>> ( Istream is,
LPtrList< LListBase, T > &  list 
)
friend

◆ operator

Ostream & operator ( Ostream os,
const LPtrList< LListBase, T > &  list 
)
friend

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