ListPtr< T > Class Template Reference
Inheritance diagram for ListPtr< T >:

Public Types

using ListPtrType = ListPtr< T >
 
using listType = std::list< T * >
 

Public Member Functions

 TypeInfoTemplateNV ("ListPtr", T)
 
 ListPtr ()
 
 ListPtr (size_t len)
 
 ListPtr (const ListPtrType &src)
 
ListPtrTypeoperator= (const ListPtrType &rhs)
 
 ListPtr (ListPtrType &&src)
 
ListPtrTypeoperator= (ListPtrType &&rhs)
 
ListPtrTypeclonePtr () const
 
uniquePtr< ListPtrTypeclone () const
 
 ~ListPtr ()
 
T * set (label i, T *ptr)
 
uniquePtr< T > set (label i, uniquePtr< T > &ptr)
 
template<typename... Args>
uniquePtr< T > setSafe (label i, Args &&... args)
 
void push_back (T *ptr)
 
void push_back (uniquePtr< T > &ptr)
 
template<typename... Args>
void push_backSafe (Args &&... args)
 
T & operator[] (label i)
 
const T & operator[] (label i) const
 
size_t size () const
 
auto empty () const
 
uniquePtr< T > release (label i)
 
void clear ()
 
void clear (label i)
 
template<typename... Args>
pFlow::uniquePtr< T > setSafe (label i, Args &&... args)
 

Static Public Member Functions

template<typename... Args>
static uniquePtr< T > makeSafe (Args &&... args)
 

Protected Member Functions

bool copy (const ListPtrType &src)
 
T * ptr (label i)
 
const T * ptr (label i) const
 
auto pos (label i)
 
auto pos (label i) const
 

Protected Attributes

std::list< T * > list_
 

Detailed Description

template<typename T>
class pFlow::ListPtr< T >

Definition at line 38 of file ListPtr.hpp.

Member Typedef Documentation

◆ ListPtrType

using ListPtrType = ListPtr<T>

Definition at line 42 of file ListPtr.hpp.

◆ listType

using listType = std::list<T*>

Definition at line 43 of file ListPtr.hpp.

Constructor & Destructor Documentation

◆ ListPtr() [1/4]

ListPtr ( )
inline

Definition at line 86 of file ListPtr.hpp.

◆ ListPtr() [2/4]

ListPtr ( size_t  len)
inline

Definition at line 92 of file ListPtr.hpp.

◆ ListPtr() [3/4]

ListPtr ( const ListPtrType src)

Definition at line 106 of file ListPtrI.hpp.

◆ ListPtr() [4/4]

ListPtr ( ListPtrType &&  src)
inline

Definition at line 108 of file ListPtr.hpp.

◆ ~ListPtr()

~ListPtr ( )
inline

Definition at line 136 of file ListPtr.hpp.

Member Function Documentation

◆ makeSafe()

static uniquePtr<T> makeSafe ( Args &&...  args)
inlinestatic

Definition at line 47 of file ListPtr.hpp.

◆ copy()

bool copy ( const ListPtrType src)
inlineprotected

Definition at line 22 of file ListPtrI.hpp.

◆ ptr() [1/2]

T * ptr ( label  i)
protected

Definition at line 42 of file ListPtrI.hpp.

Referenced by ListPtr< pFlow::processField >::clonePtr().

Here is the caller graph for this function:

◆ ptr() [2/2]

const T * ptr ( label  i) const
protected

Definition at line 55 of file ListPtrI.hpp.

◆ pos() [1/2]

auto pos ( label  i)
protected

Definition at line 70 of file ListPtrI.hpp.

◆ pos() [2/2]

auto pos ( label  i) const
protected

Definition at line 88 of file ListPtrI.hpp.

◆ TypeInfoTemplateNV()

TypeInfoTemplateNV ( "ListPtr< T >"  ,
 
)

◆ operator=() [1/2]

pFlow::ListPtr< T > & operator= ( const ListPtrType rhs)

Definition at line 123 of file ListPtrI.hpp.

◆ operator=() [2/2]

ListPtrType& operator= ( ListPtrType &&  rhs)
inline

Definition at line 115 of file ListPtr.hpp.

◆ clonePtr()

ListPtrType* clonePtr ( ) const
inline

Definition at line 124 of file ListPtr.hpp.

◆ clone()

uniquePtr<ListPtrType> clone ( ) const
inline

Definition at line 130 of file ListPtr.hpp.

◆ set() [1/2]

T * set ( label  i,
T *  ptr 
)

Definition at line 148 of file ListPtrI.hpp.

◆ set() [2/2]

pFlow::uniquePtr< T > set ( label  i,
uniquePtr< T > &  ptr 
)

Definition at line 159 of file ListPtrI.hpp.

◆ setSafe() [1/2]

uniquePtr<T> setSafe ( label  i,
Args &&...  args 
)

◆ push_back() [1/2]

void push_back ( T *  ptr)

Definition at line 195 of file ListPtrI.hpp.

◆ push_back() [2/2]

void push_back ( uniquePtr< T > &  ptr)

Definition at line 203 of file ListPtrI.hpp.

◆ push_backSafe()

void push_backSafe ( Args &&...  args)

Definition at line 210 of file ListPtrI.hpp.

◆ operator[]() [1/2]

T & operator[] ( label  i)

Definition at line 218 of file ListPtrI.hpp.

◆ operator[]() [2/2]

const T & operator[] ( label  i) const

Definition at line 236 of file ListPtrI.hpp.

◆ size()

size_t size

Definition at line 252 of file ListPtrI.hpp.

◆ empty()

auto empty

Definition at line 258 of file ListPtrI.hpp.

◆ release()

pFlow::uniquePtr< T > release ( label  i)

Definition at line 265 of file ListPtrI.hpp.

◆ clear() [1/2]

void clear

Definition at line 275 of file ListPtrI.hpp.

Referenced by ListPtr< pFlow::processField >::operator=(), and ListPtr< pFlow::processField >::~ListPtr().

Here is the caller graph for this function:

◆ clear() [2/2]

void clear ( label  i)

Definition at line 290 of file ListPtrI.hpp.

◆ setSafe() [2/2]

pFlow::uniquePtr<T> setSafe ( label  i,
Args &&...  args 
)

Definition at line 184 of file ListPtrI.hpp.

Member Data Documentation

◆ list_

std::list<T*> list_
protected

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