UILList< LListBase, T > Class Template Reference

Template class for intrusive linked lists. More...

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

Classes

class  const_iterator
 A const_iterator. More...
 
class  const_reverse_iterator
 
class  iterator
 A non-const iterator. More...
 
class  reverse_iterator
 

Public Types

typedef T value_type
 Type of values stored. More...
 
typedef T * pointer
 Pointer for value_type. More...
 
typedef T & reference
 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 iterator objects. More...
 
using base_iterator = typename LListBase::iterator
 
using const_base_iterator = typename LListBase::const_iterator
 

Public Member Functions

 UILList ()=default
 Null construct. More...
 
 UILList (T *item)
 Construct and insert the initial T item. More...
 
 UILList (const UILList< LListBase, T > &lst)
 Construct as copy. More...
 
T * first ()
 The first entry in the list. More...
 
const T * first () const
 The first entry in the list (const access) More...
 
T * last ()
 The last entry in the list. More...
 
const T * last () const
 The last entry in the list (const access) More...
 
T * removeHead ()
 Remove and return head. More...
 
T * remove (T *item)
 Remove and return element. More...
 
T * remove (iterator &iter)
 Remove and return item specified by iterator. More...
 
void operator= (const UILList< LListBase, T > &lst)
 Copy assignment. More...
 
bool operator== (const UILList< LListBase, T > &lst) const
 Equality. True both lists are element-wise equal. More...
 
bool operator!= (const UILList< LListBase, T > &lst) const
 The opposite of the equality operation. Takes linear time. More...
 
Ostream & writeList (Ostream &os, const label shortLen=0) const
 Write UILList with line-breaks when length exceeds shortLen. 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 iterator & end ()
 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 & crend () const
 End of list for reverse iterators. More...
 
const const_iterator & end () const
 End of list for forward iterators. More...
 
const const_reverse_iterator & rend () const
 End of list for reverse iterators. More...
 

Public Attributes

const typedef T * const_pointer
 Const pointer for value_type. More...
 
const typedef T & const_reference
 Const reference for value_type. More...
 

Friends

Ostream & operator (Ostream &os, const UILList< LListBase, T > &lst)
 

Detailed Description

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

Template class for intrusive linked lists.

Source files

Definition at line 53 of file UILList.H.

Member Typedef Documentation

◆ value_type

typedef T value_type

Type of values stored.

Definition at line 77 of file UILList.H.

◆ pointer

typedef T* pointer

Pointer for value_type.

Definition at line 80 of file UILList.H.

◆ reference

typedef T& reference

Reference for value_type.

Definition at line 86 of file UILList.H.

◆ size_type

typedef label size_type

The type that can represent the container size.

Definition at line 92 of file UILList.H.

◆ difference_type

typedef label difference_type

The difference between iterator objects.

Definition at line 95 of file UILList.H.

◆ base_iterator

using base_iterator = typename LListBase::iterator

Definition at line 103 of file UILList.H.

◆ const_base_iterator

using const_base_iterator = typename LListBase::const_iterator

Definition at line 104 of file UILList.H.

Constructor & Destructor Documentation

◆ UILList() [1/3]

UILList ( )
default

Null construct.

◆ UILList() [2/3]

UILList ( T *  item)
inlineexplicit

Construct and insert the initial T item.

Definition at line 113 of file UILList.H.

References insert().

Here is the call graph for this function:

◆ UILList() [3/3]

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

Construct as copy.

Definition at line 34 of file UILList.C.

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

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 125 of file UILList.H.

References Foam::T().

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 131 of file UILList.H.

References Foam::T().

Here is the call graph for this function:

◆ last() [1/2]

T* last ( )
inline

The last entry in the list.

Definition at line 137 of file UILList.H.

References Foam::T().

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 143 of file UILList.H.

References Foam::T().

Here is the call graph for this function:

◆ removeHead()

T* removeHead ( )
inline

Remove and return head.

Definition at line 150 of file UILList.H.

References Foam::T().

Here is the call graph for this function:

◆ remove() [1/2]

T* remove ( T *  item)
inline

Remove and return element.

Definition at line 156 of file UILList.H.

References Foam::T().

Here is the call graph for this function:

◆ remove() [2/2]

T* remove ( iterator &  iter)
inline

Remove and return item specified by iterator.

Definition at line 162 of file UILList.H.

References Foam::T().

Here is the call graph for this function:

◆ operator=()

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

Copy assignment.

Definition at line 46 of file UILList.C.

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

Here is the call graph for this function:

◆ operator==()

bool operator== ( const UILList< LListBase, T > &  lst) const

Equality. True both lists are element-wise equal.

(using value_type::operator==). Takes linear time.

Definition at line 59 of file UILList.C.

References stdFoam::cbegin(), UILList< LListBase, T >::cbegin(), and stdFoam::cend().

Here is the call graph for this function:

◆ operator!=()

bool operator!= ( const UILList< LListBase, T > &  lst) const

The opposite of the equality operation. Takes linear time.

Definition at line 84 of file UILList.C.

References Foam::operator==().

Here is the call graph for this function:

◆ writeList()

Foam::Ostream & writeList ( Ostream &  os,
const label  shortLen = 0 
) const

Write UILList with line-breaks when length exceeds shortLen.

Using '0' suppresses line-breaks entirely.

Definition at line 37 of file UILListIO.C.

References IOstream::check(), FUNCTION_NAME, Foam::nl, and T.

Here is the call graph for this function:

◆ begin() [1/2]

iterator begin ( )
inline

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

Definition at line 378 of file UILList.H.

◆ cbegin()

const_iterator cbegin ( ) const
inline

Iterator to first item in list with const access.

Definition at line 384 of file UILList.H.

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

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 390 of file UILList.H.

◆ crbegin()

const_reverse_iterator crbegin ( ) const
inline

Iterator to last item in list with const access.

Definition at line 396 of file UILList.H.

Referenced by UILList< 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 402 of file UILList.H.

References stdFoam::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 408 of file UILList.H.

References UILList< 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 415 of file UILList.H.

◆ cend()

const const_iterator& cend ( ) const
inline

End of list for forward iterators.

Definition at line 421 of file UILList.H.

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

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 427 of file UILList.H.

◆ crend()

const const_reverse_iterator& crend ( ) const
inline

End of list for reverse iterators.

Definition at line 433 of file UILList.H.

Referenced by UILList< 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 439 of file UILList.H.

References UILList< 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 445 of file UILList.H.

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

Here is the call graph for this function:

Friends And Related Function Documentation

◆ operator

Ostream& operator ( Ostream &  os,
const UILList< LListBase, T > &  lst 
)
friend

Write UILList to Ostream with line breaks, as per writeList() with shortLen=-1

Member Data Documentation

◆ const_pointer

const typedef T* const_pointer

Const pointer for value_type.

Definition at line 83 of file UILList.H.

◆ const_reference

const typedef T& const_reference

Const reference for value_type.

Definition at line 89 of file UILList.H.


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