SubField< Type > Class Template Reference

Pre-declare related SubField type. More...

Inheritance diagram for SubField< Type >:
Collaboration diagram for SubField< Type >:

Public Types

typedef pTraits< Type >::cmptType cmptType
 Component type. More...
 
- Public Types inherited from UList< Type >
typedef Type value_type
 Type of values the UList contains. More...
 
typedef Type & reference
 Type that can be used for storing into. More...
 
typedef const Type & const_reference
 Type that can be used for storing into. More...
 
typedef label difference_type
 The type that can represent the difference between any two. More...
 
typedef label size_type
 The type that can represent the size of a UList. More...
 
typedef Type * iterator
 Random access iterator for traversing UList. More...
 
typedef const Type * const_iterator
 Random access iterator for traversing UList. More...
 
typedef std::reverse_iterator< iteratorreverse_iterator
 Reverse iterator for reverse traversal of UList. More...
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 Reverse iterator for reverse traversal of constant UList. More...
 

Public Member Functions

 SubField (const SubList< Type > &)
 Construct from a SubList. More...
 
 SubField (const UList< Type > &)
 Construct from a UList<Type>, using the entire size. More...
 
 SubField (const UList< Type > &list, const label subSize)
 Construct from a UList<Type> with a given size. More...
 
 SubField (const UList< Type > &list, const label subSize, const label startIndex)
 Construct from a UList<Type> with a given size and start index. More...
 
 SubField (const SubField< Type > &)
 Copy constructor. More...
 
 SubField (SubField< Type > &, bool reuse)
 Copy constructor or reuse as specified. More...
 
tmp< Field< cmptType > > component (const direction) const
 Return a component field of the field. More...
 
tmp< Field< Type > > T () const
 Return the field transpose (only defined for second rank tensors) More...
 
void operator= (const SubField< Type > &)
 Assignment via UList operator. Takes linear time. More...
 
void operator= (const Field< Type > &)
 Assignment via UList operator. Takes linear time. More...
 
void operator= (const Type &)
 Assignment via UList operator. Takes linear time. More...
 
template<class Form , direction Ncmpts>
void operator= (const VectorSpace< Form, Type, Ncmpts > &)
 Assignment via UList operator. Takes linear time. More...
 
 operator const Field< Type > & () const
 Allow cast to a const Field<Type>&. More...
 
- Public Member Functions inherited from refCount
int count () const
 Return the current reference count. More...
 
bool unique () const
 Return true if the reference count is zero. More...
 
void operator++ ()
 Increment the reference count. More...
 
void operator++ (int)
 Increment the reference count. More...
 
void operator-- ()
 Decrement the reference count. More...
 
void operator-- (int)
 Decrement the reference count. More...
 
void operator= (const refCount &)=delete
 Disallow bitwise assignment. More...
 
- Public Member Functions inherited from SubList< Type >
 SubList (const UList< Type > &list, const label subSize)
 Construct from UList and sub-list size. More...
 
 SubList (const UList< Type > &list, const label subSize, const label startIndex)
 Construct from UList, sub-list size and start index. More...
 
 SubList (const SubList< Type > &sl)=default
 Copy constructor. More...
 
 operator const Foam::List< Type > & () const
 Allow cast to a const List<T>&. More...
 
void operator= (const SubList< Type > &)
 Assignment of all entries to the given sub-list. More...
 
void operator= (const UList< Type > &)
 Assignment of all entries to the given list. More...
 
void operator= (const Type &)
 Assignment of all entries to the given value. More...
 
- Public Member Functions inherited from UList< Type >
void operator= (const Type &)
 Assignment of all entries to the given value. More...
 
void operator= (const zero)
 Assignment of all entries to zero. More...
 
 UList ()
 Null constructor. More...
 
 UList (Type *__restrict__ v, label size)
 Construct from components. More...
 
 UList (const UList< Type > &)=default
 Copy construct. More...
 
label fcIndex (const label i) const
 Return the forward circular index, i.e. the next index. More...
 
label rcIndex (const label i) const
 Return the reverse circular index, i.e. the previous index. More...
 
std::streamsize byteSize () const
 Return the binary size in number of characters of the UList. More...
 
const Type * cdata () const
 Return a const pointer to the first data element,. More...
 
Type * data ()
 Return a pointer to the first data element,. More...
 
Type & first ()
 Return the first element of the list. More...
 
const Type & first () const
 Return first element of the list. More...
 
Type & last ()
 Return the last element of the list. More...
 
const Type & last () const
 Return the last element of the list. More...
 
void checkStart (const label start) const
 Check start is within valid range (0 ... size-1) More...
 
void checkSize (const label size) const
 Check size is within valid range (0 ... size) More...
 
void checkIndex (const label i) const
 Check index i is within valid range (0 ... size-1) More...
 
void shallowCopy (const UList< Type > &)
 Copy the pointer held by the given UList. More...
 
void deepCopy (const UList< Type > &)
 Copy elements of the given UList. More...
 
Type & operator[] (const label)
 Return element of UList. More...
 
const Type & operator[] (const label) const
 Return element of constant UList. More...
 
const bool & operator[] (const label i) const
 
 operator const Foam::List< Type > & () const
 Allow cast to a const List<T>&. More...
 
iterator begin ()
 Return an iterator to begin traversing the UList. More...
 
const_iterator begin () const
 Return const_iterator to begin traversing the constant UList. More...
 
iterator end ()
 Return an iterator to end traversing the UList. More...
 
const_iterator end () const
 Return const_iterator to end traversing the constant UList. More...
 
const_iterator cbegin () const
 Return const_iterator to begin traversing the constant UList. More...
 
const_iterator cend () const
 Return const_iterator to end traversing the constant UList. More...
 
reverse_iterator rbegin ()
 Return reverse_iterator to begin reverse traversing the UList. More...
 
const_reverse_iterator rbegin () const
 Return const_reverse_iterator to begin reverse traversing the UList. More...
 
reverse_iterator rend ()
 Return reverse_iterator to end reverse traversing the UList. More...
 
const_reverse_iterator rend () const
 Return const_reverse_iterator to end reverse traversing the UList. More...
 
const_reverse_iterator crbegin () const
 Return const_reverse_iterator to begin reverse traversing the UList. More...
 
const_reverse_iterator crend () const
 Return const_reverse_iterator to end reverse traversing the UList. More...
 
label size () const
 Return the number of elements in the UList. More...
 
label max_size () const
 Return size of the largest possible UList. More...
 
bool empty () const
 Return true if the UList is empty (ie, size() is zero) More...
 
void swap (UList< Type > &)
 Swap two ULists of the same type in constant time. More...
 
bool operator== (const UList< Type > &) const
 Equality operation on ULists of the same type. More...
 
bool operator!= (const UList< Type > &) const
 The opposite of the equality operation. Takes linear time. More...
 
bool operator< (const UList< Type > &) const
 Compare two ULists lexicographically. Takes linear time. More...
 
bool operator> (const UList< Type > &) const
 Compare two ULists lexicographically. Takes linear time. More...
 
bool operator<= (const UList< Type > &) const
 Return true if !(a > b). Takes linear time. More...
 
bool operator>= (const UList< Type > &) const
 Return true if !(a < b). Takes linear time. More...
 

Static Public Member Functions

static const SubField< Type > & null ()
 Return a null SubField. More...
 
- Static Public Member Functions inherited from SubList< Type >
static const SubList< Type > & null ()
 Return a null SubList. More...
 
- Static Public Member Functions inherited from UList< Type >
static const UList< Type > & null ()
 Return a null UList. More...
 

Additional Inherited Members

- Protected Member Functions inherited from refCount
 refCount ()
 Construct null initialising count to 0. More...
 
 refCount (const refCount &)=delete
 Disallow copy. More...
 

Detailed Description

template<class Type>
class Foam::SubField< Type >

Pre-declare related SubField type.

SubField is a Field obtained as a section of another Field.

Thus it is itself unallocated so that no storage is allocated or deallocated during its use. To achieve this behaviour, SubField is derived from a SubList rather than a List.

Source files

Definition at line 59 of file SubField.H.

Member Typedef Documentation

◆ cmptType

typedef pTraits<Type>::cmptType cmptType

Component type.

Definition at line 68 of file SubField.H.

Constructor & Destructor Documentation

◆ SubField() [1/6]

SubField ( const SubList< Type > &  list)
inline

Construct from a SubList.

Definition at line 29 of file SubFieldI.H.

◆ SubField() [2/6]

SubField ( const UList< Type > &  list)
inlineexplicit

Construct from a UList<Type>, using the entire size.

Definition at line 39 of file SubFieldI.H.

◆ SubField() [3/6]

SubField ( const UList< Type > &  list,
const label  subSize 
)
inline

Construct from a UList<Type> with a given size.

Definition at line 49 of file SubFieldI.H.

◆ SubField() [4/6]

SubField ( const UList< Type > &  list,
const label  subSize,
const label  startIndex 
)
inline

Construct from a UList<Type> with a given size and start index.

Definition at line 60 of file SubFieldI.H.

◆ SubField() [5/6]

SubField ( const SubField< Type > &  sfield)
inline

Copy constructor.

Definition at line 72 of file SubFieldI.H.

◆ SubField() [6/6]

SubField ( SubField< Type > &  sfield,
bool  reuse 
)
inline

Copy constructor or reuse as specified.

Definition at line 83 of file SubFieldI.H.

Member Function Documentation

◆ null()

const Foam::SubField< Type > & null
inlinestatic

Return a null SubField.

Definition at line 97 of file SubFieldI.H.

◆ component()

Foam::tmp< Foam::Field< typename Foam::SubField< Type >::cmptType > > component ( const direction  d) const
inline

Return a component field of the field.

Definition at line 105 of file SubFieldI.H.

◆ T()

Foam::tmp< Foam::Field< Type > > T
inline

Return the field transpose (only defined for second rank tensors)

Definition at line 115 of file SubFieldI.H.

◆ operator=() [1/4]

void operator= ( const SubField< Type > &  rhs)
inline

Assignment via UList operator. Takes linear time.

Definition at line 124 of file SubFieldI.H.

References SubList< T >::operator=().

Here is the call graph for this function:

◆ operator=() [2/4]

void operator= ( const Field< Type > &  rhs)
inline

Assignment via UList operator. Takes linear time.

Definition at line 131 of file SubFieldI.H.

References SubList< T >::operator=().

Here is the call graph for this function:

◆ operator=() [3/4]

void operator= ( const Type &  rhs)
inline

Assignment via UList operator. Takes linear time.

Definition at line 138 of file SubFieldI.H.

References SubList< T >::operator=().

Here is the call graph for this function:

◆ operator=() [4/4]

void operator= ( const VectorSpace< Form, Type, Ncmpts > &  rhs)
inline

Assignment via UList operator. Takes linear time.

Definition at line 146 of file SubFieldI.H.

References forAll.

◆ operator const Field< Type > &()

operator const Field< Type > & ( ) const
inline

Allow cast to a const Field<Type>&.


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