A field of fields is a PtrList of fields with reference counting. More...
Inherits refCount, and PtrList< Field< Type > >.
Inherited by AveragingMethod< Foam::Vector >, AveragingMethod< scalar >, GeometricBoundaryField< symmTensor, fvPatchField, volMesh >, GeometricBoundaryField< scalar, fvPatchField, volMesh >, GeometricBoundaryField< Type, pointPatchField, pointMesh >, GeometricBoundaryField< vector, fvPatchField, volMesh >, GeometricBoundaryField< tensor, fvPatchField, volMesh >, GeometricBoundaryField< scalar, Foam::fvPatchField, Foam::volMesh >, GeometricBoundaryField< Foam::Vector, Foam::fvPatchField, Foam::volMesh >, GeometricBoundaryField< Foam::Vector, Foam::pointPatchField, Foam::pointMesh >, GeometricBoundaryField< scalar, fvsPatchField, surfaceMesh >, GeometricBoundaryField< scalar, pointPatchField, pointMesh >, GeometricBoundaryField< vector, pointPatchField, pointMesh >, GeometricBoundaryField< scalar, faPatchField, areaMesh >, GeometricBoundaryField< scalar, Foam::faPatchField, Foam::areaMesh >, GeometricBoundaryField< scalar, Foam::faePatchField, Foam::edgeMesh >, GeometricBoundaryField< Foam::Vector, Foam::faPatchField, Foam::areaMesh >, GeometricBoundaryField< Foam::Vector, Foam::faePatchField, Foam::edgeMesh >, GeometricBoundaryField< Foam::SphericalTensor, Foam::faPatchField, Foam::areaMesh >, GeometricBoundaryField< Foam::SphericalTensor, Foam::faePatchField, Foam::edgeMesh >, GeometricBoundaryField< Foam::SymmTensor, Foam::faPatchField, Foam::areaMesh >, GeometricBoundaryField< Foam::SymmTensor, Foam::faePatchField, Foam::edgeMesh >, GeometricBoundaryField< Foam::Tensor, Foam::faPatchField, Foam::areaMesh >, GeometricBoundaryField< Foam::Tensor, Foam::faePatchField, Foam::edgeMesh >, GeometricBoundaryField< scalar, Foam::fvsPatchField, Foam::surfaceMesh >, GeometricBoundaryField< Foam::Vector, Foam::fvsPatchField, Foam::surfaceMesh >, GeometricBoundaryField< Foam::SphericalTensor, Foam::fvPatchField, Foam::volMesh >, GeometricBoundaryField< Foam::SphericalTensor, Foam::fvsPatchField, Foam::surfaceMesh >, GeometricBoundaryField< Foam::SymmTensor, Foam::fvPatchField, Foam::volMesh >, GeometricBoundaryField< Foam::SymmTensor, Foam::fvsPatchField, Foam::surfaceMesh >, GeometricBoundaryField< Foam::Tensor, Foam::fvPatchField, Foam::volMesh >, GeometricBoundaryField< Foam::Tensor, Foam::fvsPatchField, Foam::surfaceMesh >, GeometricBoundaryField< Type, Foam::fvPatchField, Foam::volMesh >, GeometricBoundaryField< Type, Foam::pointPatchField, Foam::pointMesh >, GeometricBoundaryField< Type, Foam::fvsPatchField, Foam::surfaceMesh >, GeometricBoundaryField< vector, fvsPatchField, surfaceMesh >, GeometricBoundaryField< scalar, Foam::pointPatchField, Foam::pointMesh >, GeometricBoundaryField< Foam::SphericalTensor, Foam::pointPatchField, Foam::pointMesh >, GeometricBoundaryField< Foam::SymmTensor, Foam::pointPatchField, Foam::pointMesh >, GeometricBoundaryField< Foam::Tensor, Foam::pointPatchField, Foam::pointMesh >, GeometricBoundaryField< tensor, faPatchField, areaMesh >, GeometricBoundaryField< vector, faPatchField, areaMesh >, GeometricBoundaryField< scalar, faePatchField, edgeMesh >, and AveragingMethod< Type >.
Public Types | |
typedef pTraits< Type >::cmptType | cmptType |
Component type. More... | |
Public Types inherited from UPtrList< T > | |
typedef T | value_type |
Type of values the list contains. More... | |
typedef T & | reference |
A non-const reference to the value_type. More... | |
typedef const T & | const_reference |
A const reference to the value_type. More... | |
Public Member Functions | |
constexpr | FieldField () noexcept |
Construct null. More... | |
FieldField (const label size) | |
Construct given size. More... | |
FieldField (const word &type, const FieldField< Field, Type > &ff) | |
Clone construct with new type. More... | |
FieldField (const FieldField< Field, Type > &ff) | |
Copy construct, cloning each element. More... | |
FieldField (FieldField< Field, Type > &&ff) | |
Move construct. More... | |
FieldField (FieldField< Field, Type > &ff, bool reuse) | |
Construct as copy or re-use as specified. More... | |
FieldField (const PtrList< Field< Type > > &list) | |
Copy construct from PtrList. More... | |
FieldField (PtrList< Field< Type > > &&list) | |
Move construct from PtrList. More... | |
FieldField (const tmp< FieldField< Field, Type > > &tf) | |
Move/copy construct from tmp<FieldField> More... | |
FieldField (Istream &is) | |
Construct from Istream. More... | |
tmp< FieldField< Field, Type > > | clone () const |
Clone. More... | |
void | negate () |
Negate this field. See notes in Field. More... | |
void | normalise () |
Normalise this field. See notes in Field. More... | |
tmp< FieldField< Field, cmptType > > | component (const direction) const |
Return a component field of the field. More... | |
void | replace (const direction, const FieldField< Field, cmptType > &) |
Replace a component field of the field. More... | |
void | replace (const direction, const cmptType &) |
Replace a component field of the field. More... | |
tmp< FieldField< Field, Type > > | T () const |
Return the field transpose (only defined for second rank tensors) More... | |
void | operator= (const FieldField< Field, Type > &) |
Copy assignment. More... | |
void | operator= (FieldField< Field, Type > &&) |
Move assignment. More... | |
void | operator= (const tmp< FieldField< Field, Type > > &) |
Move or clone assignment. More... | |
void | operator= (const Type &val) |
Assign uniform value. More... | |
void | operator+= (const FieldField< Field, Type > &) |
void | operator+= (const tmp< FieldField< Field, Type > > &) |
void | operator-= (const FieldField< Field, Type > &) |
void | operator-= (const tmp< FieldField< Field, Type > > &) |
void | operator*= (const FieldField< Field, scalar > &) |
void | operator*= (const tmp< FieldField< Field, scalar > > &) |
void | operator/= (const FieldField< Field, scalar > &) |
void | operator/= (const tmp< FieldField< Field, scalar > > &) |
void | operator+= (const Type &) |
void | operator-= (const Type &) |
void | operator*= (const scalar &) |
void | operator/= (const scalar &) |
Public Member Functions inherited from refCount | |
constexpr | refCount () noexcept |
Default construct, initializing count to 0. More... | |
int | count () const noexcept |
Return the current reference count. More... | |
bool | unique () const noexcept |
Return true if the reference count is zero. More... | |
void | operator++ () noexcept |
Increment the reference count. More... | |
void | operator++ (int) noexcept |
Increment the reference count. More... | |
void | operator-- () noexcept |
Decrement the reference count. More... | |
void | operator-- (int) noexcept |
Decrement the reference count. More... | |
Public Member Functions inherited from PtrList< Field< Type > > | |
constexpr | PtrList () noexcept |
Default construct. More... | |
PtrList (const label len) | |
Construct with specified size, each element initialized to nullptr. More... | |
PtrList (const PtrList< Field< Type > > &list) | |
Copy construct using 'clone()' method on each element. More... | |
PtrList (PtrList< Field< Type > > &&list) | |
Move construct. More... | |
PtrList (UList< Field< Type > * > &list) | |
Take ownership of pointers in the list, set old pointers to null. More... | |
PtrList (const PtrList< Field< Type > > &list, const CloneArg &cloneArgs) | |
Copy construct using 'clone()' method on each element. More... | |
PtrList (PtrList< Field< Type > > &list, bool reuse) | |
Construct as copy or re-use as specified. More... | |
PtrList (const SLPtrList< Field< Type > > &list) | |
Copy construct using 'clone()' on each element of SLPtrList<T> More... | |
PtrList (Istream &is, const INew &inew) | |
Construct from Istream using given Istream constructor class. More... | |
PtrList (Istream &is) | |
Construct from Istream using default Istream constructor class. More... | |
~PtrList () | |
Destructor. More... | |
PtrList< Field< Type > > | clone (Args &&... args) const |
Make a copy by cloning each of the list elements. More... | |
Foam::PtrList< Field< Type > > | clone (Args &&... args) const |
const Field< Type > * | set (const label i) const |
autoPtr< Field< Type > > | set (const label i, Field< Type > *ptr) |
Set element to given pointer and return old element (can be null) More... | |
autoPtr< Field< Type > > | set (const label i, autoPtr< Field< Type > > &ptr) |
Set element to given autoPtr and return old element. More... | |
autoPtr< Field< Type > > | set (const label i, autoPtr< Field< Type > > &&ptr) |
Set element to given autoPtr and return old element. More... | |
autoPtr< Field< Type > > | set (const label i, std::unique_ptr< Field< Type > > &&ptr) |
Set element to given unique_ptr and return old element. More... | |
autoPtr< Field< Type > > | set (const label i, const refPtr< Field< Type > > &ptr) |
Set element to given refPtr and return old element. More... | |
autoPtr< Field< Type > > | set (const label i, const tmp< Field< Type > > &ptr) |
Set element to given tmp and return old element. More... | |
void | clear () |
Clear the PtrList. Delete allocated entries and set size to zero. More... | |
void | resize (const label newLen) |
Adjust size of PtrList. More... | |
void | setSize (const label newLen) |
Same as resize() More... | |
void | emplace_append (Args &&... args) |
Construct and append an element to the end of the list. More... | |
void | append (Field< Type > *ptr) |
Append an element to the end of the list. More... | |
void | append (autoPtr< Field< Type > > &ptr) |
Move append an element to the end of the list. More... | |
void | append (autoPtr< Field< Type > > &&ptr) |
Move append an element to the end of the list. More... | |
void | append (std::unique_ptr< Field< Type > > &&ptr) |
Move append an element to the end of the list. More... | |
void | append (const refPtr< Field< Type > > &ptr) |
Move or clone append a refPtr to the end of the list. More... | |
void | append (const tmp< Field< Type > > &ptr) |
Move or clone append a tmp to the end of the list. More... | |
void | append (PtrList< Field< Type > > &&other) |
Move append another list to the end of this list. More... | |
autoPtr< Field< Type > > | emplace (const label i, Args &&... args) |
Construct and set an element. More... | |
Foam::autoPtr< Field< Type > > | emplace (const label i, Args &&... args) |
autoPtr< Field< Type > > | release (const label i) |
Release ownership of the pointer at the given position. More... | |
void | transfer (PtrList< Field< Type > > &list) |
Transfer into this list and annul the argument list. More... | |
void | operator= (const PtrList< Field< Type > > &list) |
Copy assignment. More... | |
void | operator= (PtrList< Field< Type > > &&list) |
Move assignment. More... | |
Public Member Functions inherited from UPtrList< T > | |
constexpr | UPtrList () noexcept |
Default construct. More... | |
UPtrList (const label len) | |
Construct with specified size, each element initialized to nullptr. More... | |
UPtrList (const UPtrList< T > &list) | |
Copy construct (shallow copies addresses) More... | |
UPtrList (UPtrList< T > &&list) | |
Move construct. More... | |
UPtrList (UPtrList< T > &list, bool reuse) | |
Construct as shallow copy or re-use as specified. More... | |
UPtrList (PtrList< T > &list) | |
Shallow copy from PtrList. More... | |
UPtrList (const UList< T * > &list) | |
Construct from UList of pointers (shallow copy) More... | |
UPtrList (UList< T > &list) | |
Construct from UList, taking the address of each list element. More... | |
label | size () const noexcept |
The number of elements in the list. More... | |
bool | empty () const noexcept |
True if the list is empty (ie, size() is zero) More... | |
T & | first () |
Return reference to the first element of the list. More... | |
const T & | first () const |
Return reference to first element of the list. More... | |
T & | last () |
Return reference to the last element of the list. More... | |
const T & | last () const |
Return reference to the last element of the list. More... | |
const T * | test (const label i) const |
T * | get (const label i) |
const T * | get (const label i) const |
const T * | set (const label i) const |
void | clear () |
Set list size to zero. More... | |
void | resize (const label newLen) |
Change the size of the list. More... | |
void | setSize (const label n) |
Alias for resize() More... | |
label | squeezeNull () |
Squeeze out intermediate nullptr entries in the list of pointers. More... | |
void | append (T *ptr) |
Append an element to the end of the list. More... | |
void | append (UPtrList< T > &&other) |
Move append another list to the end of this list. More... | |
void | swap (UPtrList< T > &list) |
Swap content. More... | |
void | transfer (UPtrList< T > &list) |
Transfer contents into this list and annul the argument. More... | |
T * | set (const label i, T *ptr) |
void | reorder (const labelUList &oldToNew, const bool check=false) |
void | sortOrder (const labelUList &order, const bool check=false) |
void | checkNonNull () const |
Check and raise FatalError if any nullptr exists in the list. More... | |
const T & | operator[] (const label i) const |
Return const reference to the element. More... | |
T & | operator[] (const label i) |
Return reference to the element. More... | |
const T * | operator() (const label i) const |
Return const pointer to the element - same as get(). More... | |
void | operator= (const UPtrList< T > &list) |
Copy assignment (shallow copies addresses) More... | |
void | operator= (UPtrList< T > &&list) |
Move assignment. More... | |
T ** | begin_ptr () noexcept |
Iterator to begin of raw pointers traversal (use with caution) More... | |
T ** | end_ptr () noexcept |
Iterator beyond end of raw pointers traversal (use with caution) More... | |
iterator | begin () noexcept |
Return an iterator to begin of UPtrList traversal. More... | |
iterator | end () noexcept |
Return iterator beyond end of UPtrList traversal. More... | |
const_iterator | cbegin () const noexcept |
Return const_iterator to begin of UPtrList traversal. More... | |
const_iterator | cend () const noexcept |
Return const_iterator beyond end of UPtrList traversal. More... | |
const_iterator | begin () const noexcept |
Return const_iterator to begin of UPtrList traversal. More... | |
const_iterator | end () const noexcept |
Return const_iterator beyond end of UPtrList traversal. More... | |
Static Public Member Functions | |
template<class Type2 > | |
static tmp< FieldField< Field, Type > > | NewCalculatedType (const FieldField< Field, Type2 > &ff) |
Return a pointer to a new calculatedFvPatchFieldField created on. More... | |
Friends | |
Ostream & | operator (Ostream &, const FieldField< Field, Type > &) |
Ostream & | operator (Ostream &, const tmp< FieldField< Field, Type > > &) |
Additional Inherited Members | |
Protected Member Functions inherited from PtrList< Field< Type > > | |
void | readIstream (Istream &is, const INew &inew) |
Read from Istream using Istream constructor class. More... | |
void | free () |
Delete the allocated entries, but retain the list size. More... | |
Protected Member Functions inherited from UPtrList< T > | |
void | setAddressableSize (const label n) noexcept |
Adjust addressable size. More... | |
UPtrList (Detail::PtrListDetail< T > &&ptrs) | |
Low-level move construct. More... | |
Protected Attributes inherited from UPtrList< T > | |
Detail::PtrListDetail< T > | ptrs_ |
The list of pointers. More... | |
A field of fields is a PtrList of fields with reference counting.
Definition at line 76 of file FieldField.H.
Component type.
Definition at line 85 of file FieldField.H.
|
constexprnoexcept |
Construct null.
Used for temporary fields which are initialised after construction
Definition at line 108 of file FieldField.C.
|
explicit |
Construct given size.
Used for temporary fields which are initialised after construction
Definition at line 115 of file FieldField.C.
FieldField | ( | const word & | type, |
const FieldField< Field, Type > & | ff | ||
) |
Clone construct with new type.
Definition at line 122 of file FieldField.C.
FieldField | ( | const FieldField< Field, Type > & | ff | ) |
Copy construct, cloning each element.
Definition at line 138 of file FieldField.C.
FieldField | ( | FieldField< Field, Type > && | ff | ) |
Move construct.
Definition at line 145 of file FieldField.C.
FieldField | ( | FieldField< Field, Type > & | ff, |
bool | reuse | ||
) |
Construct as copy or re-use as specified.
Definition at line 152 of file FieldField.C.
FieldField | ( | const PtrList< Field< Type > > & | list | ) |
Copy construct from PtrList.
Definition at line 159 of file FieldField.C.
FieldField | ( | PtrList< Field< Type > > && | list | ) |
Move construct from PtrList.
Definition at line 166 of file FieldField.C.
FieldField | ( | const tmp< FieldField< Field, Type > > & | tf | ) |
Move/copy construct from tmp<FieldField>
Definition at line 173 of file FieldField.C.
FieldField | ( | Istream & | is | ) |
Construct from Istream.
Definition at line 182 of file FieldField.C.
tmp< FieldField< Field, Type > > clone |
Clone.
Definition at line 189 of file FieldField.C.
References Foam::New().
|
static |
Return a pointer to a new calculatedFvPatchFieldField created on.
freestore without setting patchField values
Definition at line 197 of file FieldField.C.
References Foam::New().
Referenced by reuseTmpFieldField< Field, TypeR, Type1 >::New(), reuseTmpTmpFieldField< Field, TypeR, Type1, Type12, Type2 >::New(), reuseTmpTmpFieldField< Field, TypeR, Type1, Type12, TypeR >::New(), reuseTmpFieldField< Field, TypeR, TypeR >::New(), reuseTmpTmpFieldField< Field, TypeR, TypeR, TypeR, Type2 >::New(), and reuseTmpTmpFieldField< Field, TypeR, TypeR, TypeR, TypeR >::New().
void negate |
Negate this field. See notes in Field.
Definition at line 219 of file FieldField.C.
References forAll.
void normalise |
Normalise this field. See notes in Field.
Definition at line 229 of file FieldField.C.
References forAll.
tmp< FieldField< Field, typename FieldField< Field, Type >::cmptType > > component | ( | const direction | d | ) | const |
Return a component field of the field.
Definition at line 240 of file FieldField.C.
References Foam::component().
void replace | ( | const direction | d, |
const FieldField< Field, cmptType > & | sf | ||
) |
Replace a component field of the field.
Definition at line 258 of file FieldField.C.
References forAll.
Replace a component field of the field.
Definition at line 272 of file FieldField.C.
tmp< FieldField< Field, Type > > T |
Return the field transpose (only defined for second rank tensors)
Definition at line 286 of file FieldField.C.
References Foam::T().
Referenced by Moment< Type >::Moment().
void operator= | ( | const FieldField< Field, Type > & | ff | ) |
Copy assignment.
Definition at line 301 of file FieldField.C.
References forAll.
Referenced by GeometricBoundaryField< Type, PatchField, GeoMesh >::operator=().
void operator= | ( | FieldField< Field, Type > && | ff | ) |
Move assignment.
Definition at line 318 of file FieldField.C.
void operator= | ( | const tmp< FieldField< Field, Type > > & | ) |
Move or clone assignment.
void operator= | ( | const Type & | val | ) |
void operator+= | ( | const FieldField< Field, Type > & | f | ) |
Definition at line 389 of file FieldField.C.
void operator+= | ( | const tmp< FieldField< Field, Type > > & | tf | ) |
Definition at line 389 of file FieldField.C.
void operator-= | ( | const FieldField< Field, Type > & | f | ) |
Definition at line 390 of file FieldField.C.
void operator-= | ( | const tmp< FieldField< Field, Type > > & | tf | ) |
Definition at line 390 of file FieldField.C.
void operator*= | ( | const FieldField< Field, scalar > & | f | ) |
Definition at line 391 of file FieldField.C.
void operator*= | ( | const tmp< FieldField< Field, scalar > > & | tf | ) |
Definition at line 391 of file FieldField.C.
void operator/= | ( | const FieldField< Field, scalar > & | f | ) |
Definition at line 392 of file FieldField.C.
void operator/= | ( | const tmp< FieldField< Field, scalar > > & | tf | ) |
Definition at line 392 of file FieldField.C.
void operator+= | ( | const Type & | t | ) |
Definition at line 389 of file FieldField.C.
void operator-= | ( | const Type & | t | ) |
Definition at line 390 of file FieldField.C.
void operator*= | ( | const scalar & | t | ) |
Definition at line 391 of file FieldField.C.
void operator/= | ( | const scalar & | t | ) |
Definition at line 392 of file FieldField.C.
|
friend |
|
friend |