Data Structures | Public Types | Public Member Functions | Data Fields | Private Attributes | Friends
UPtrList Class Reference

A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used for subscript bounds checking, etc. More...

Inheritance diagram for UPtrList:
Inheritance graph
[legend]
Collaboration diagram for UPtrList:
Collaboration graph
[legend]

Data Structures

class  iterator
 An STL iterator. More...
 

Public Types

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...
 

Public Member Functions

 UPtrList ()
 Null Constructor. More...
 
 UPtrList (const label)
 Construct with size specified. More...
 
 UPtrList (UList< T > &)
 Construct from UList. More...
 
 UPtrList (PtrList< T > &)
 Construct from PtrList. More...
 
 UPtrList (const Xfer< UPtrList< T > > &)
 Construct by transferring the parameter contents. More...
 
 UPtrList (UPtrList< T > &, bool reUse)
 Construct as copy or re-use 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 transfer (UPtrList< T > &)
 Transfer the contents of the argument UPtrList into this. More...
 
Xfer< UPtrList< T > > xfer ()
 Transfer contents to the Xfer container. More...
 
bool set (const label) const
 Is element set. More...
 
Tset (const label, T *)
 Set element. Return old element (can be NULL). More...
 
void reorder (const labelUList &)
 Reorders elements. Ordering does not have to be done in. 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...
 
iterator begin ()
 Return an iterator to begin traversing the UPtrList. More...
 
iterator end ()
 Return an iterator to end traversing the UPtrList. More...
 

Data Fields

const typedef Tconst_reference
 Type that can be used for storing into constant UPtrList::value_type. More...
 

Private Attributes

List< T * > ptrs_
 

Friends

class iterator
 
Ostreamoperator (Ostream &, const UPtrList< T > &)
 

Detailed Description

A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used for subscript bounds checking, etc.

The element operator [] returns a reference to the object rather than a pointer. Storage is not allocated during construction or use but is supplied to the constructor as an argument.

Source files

Definition at line 53 of file UPtrList.H.

Member Typedef Documentation

◆ value_type

typedef T value_type

Type of values the UPtrList contains.

Definition at line 198 of file UPtrList.H.

◆ reference

typedef T& reference

Type that can be used for storing into UPtrList::value_type objects.

Definition at line 201 of file UPtrList.H.

Constructor & Destructor Documentation

◆ UPtrList() [1/6]

UPtrList ( )

Null Constructor.

Definition at line 33 of file UPtrList.C.

◆ UPtrList() [2/6]

UPtrList ( const  label)
explicit

Construct with size specified.

◆ UPtrList() [3/6]

UPtrList ( UList< T > &  )
explicit

Construct from UList.

◆ UPtrList() [4/6]

UPtrList ( PtrList< T > &  )
explicit

Construct from PtrList.

◆ UPtrList() [5/6]

UPtrList ( const Xfer< UPtrList< T > > &  )

Construct by transferring the parameter contents.

◆ UPtrList() [6/6]

UPtrList ( UPtrList< T > &  ,
bool  reUse 
)

Construct as copy or re-use as specified.

Member Function Documentation

◆ size()

Foam::label size ( ) const
inline

◆ empty()

bool empty ( ) const
inline

Return true if the UPtrList is empty (ie, size() is zero).

Definition at line 38 of file UPtrListI.H.

◆ first() [1/2]

T & first ( )
inline

Return reference to the first element of the list.

Definition at line 45 of file UPtrListI.H.

◆ first() [2/2]

const T & first ( ) const
inline

Return reference to first element of the list.

Definition at line 52 of file UPtrListI.H.

◆ last() [1/2]

T & last ( )
inline

Return reference to the last element of the list.

Definition at line 59 of file UPtrListI.H.

◆ last() [2/2]

const T & last ( ) const
inline

Return reference to the last element of the list.

Definition at line 66 of file UPtrListI.H.

◆ setSize()

void setSize ( const label  newSize)

Reset size of UPtrList. This can only be used to set the size.

of an empty UPtrList, extend a UPtrList, remove entries from the end of a UPtrList.

Definition at line 87 of file UPtrList.C.

Referenced by GAMGSolver::procAgglomerateMatrix().

Here is the caller graph for this function:

◆ resize()

void resize ( const label  newSize)
inline

Reset size of UPtrList. This can only be used to set the size.

of an empty UPtrList, extend a UPtrList, remove entries from the end of a UPtrList.

Definition at line 73 of file UPtrListI.H.

◆ clear()

void clear ( )

Clear the UPtrList, i.e. set size to zero.

Definition at line 113 of file UPtrList.C.

◆ transfer()

void transfer ( UPtrList< T > &  a)

Transfer the contents of the argument UPtrList into this.

UPtrList and annul the argument list.

Definition at line 120 of file UPtrList.C.

◆ xfer()

Foam::Xfer< Foam::UPtrList< T > > xfer ( )
inline

Transfer contents to the Xfer container.

Definition at line 96 of file UPtrListI.H.

◆ set() [1/2]

bool set ( const  label) const
inline

◆ set() [2/2]

T* set ( const  label,
T  
)
inline

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

No checks on new element.

◆ reorder()

void reorder ( const labelUList oldToNew)

Reorders elements. Ordering does not have to be done in.

ascending or descending order. Reordering has to be unique. (is shuffle)

Definition at line 127 of file UPtrList.C.

◆ operator[]() [1/2]

const T& operator[] ( const  label) const
inline

Return element const reference.

◆ operator[]() [2/2]

T& operator[] ( const  label)
inline

Return element reference.

◆ operator()()

const T * operator() ( const label  i) const
inline

Return element const pointer.

Definition at line 137 of file UPtrListI.H.

◆ begin()

Foam::UPtrList< T >::iterator begin ( )
inline

Return an iterator to begin traversing the UPtrList.

Definition at line 291 of file UPtrListI.H.

Referenced by LUscalarMatrix::convert().

Here is the caller graph for this function:

◆ end()

Foam::UPtrList< T >::iterator end ( )
inline

Return an iterator to end traversing the UPtrList.

Definition at line 298 of file UPtrListI.H.

Friends And Related Function Documentation

◆ iterator

friend class iterator
friend

Definition at line 211 of file UPtrList.H.

◆ operator

Ostream& operator ( Ostream ,
const UPtrList< T > &   
)
friend

Field Documentation

◆ const_reference

const typedef T& const_reference

Type that can be used for storing into constant UPtrList::value_type.

objects.

Definition at line 205 of file UPtrList.H.

◆ ptrs_

List<T*> ptrs_
private

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