A field of fields is a PtrList of fields with reference counting. More...


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... | |
| void | clamp_min (const Type &lower) |
| Impose lower (floor) clamp on the field values (in-place) More... | |
| void | clamp_max (const Type &upper) |
| Impose upper (ceiling) clamp on the field values (in-place) More... | |
| void | clamp_range (const Type &lower, const Type &upper) |
| Clamp field values (in-place) to the specified range. More... | |
| void | clamp_range (const MinMax< Type > &range) |
| Clamp field values (in-place) to the specified range. More... | |
| tmp< FieldField< Field, Type > > | T () const |
| Return the field transpose (only defined for second rank tensors) More... | |
| const Type & | operator[] (const labelPair &index) const |
| Const access to a single field element via (fieldi, elemi) More... | |
| Type & | operator[] (const labelPair &index) |
| Non-const access to a single field element via (fieldi, elemi) 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 Foam::zero) |
| Assign uniform zero. 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 | use_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) noexcept | |
| 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. Frees all pointers. 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 |
| Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking). More... | |
| 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, std::unique_ptr< Field< Type > > &&ptr) |
| Set element to given unique_ptr 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, 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... | |
| autoPtr< Field< Type > > | set (const label i, autoPtr< Field< Type > > &ptr) |
| Set element to given autoPtr and return old element. More... | |
| void | clear () |
| Clear the PtrList. Delete allocated entries and set size to zero. More... | |
| void | free () |
| Free memory and nullify all entries. Does not change the list size. More... | |
| void | resize (const label newLen) |
| Adjust size of PtrList. More... | |
| void | resize_null (const label newLen) |
Set the addressed list to the given size, deleting all existing entries. Afterwards the list contains all nullptr entries. More... | |
| Field< Type > & | emplace_back (Args &&... args) |
| Construct and append an element to the end of the list, return reference to the new list element. More... | |
| void | push_back (Field< Type > *ptr) |
| Append an element to the end of the list. More... | |
| void | push_back (std::unique_ptr< Field< Type > > &&ptr) |
| Move append an element to the end of the list. More... | |
| void | push_back (autoPtr< Field< Type > > &&ptr) |
| Move append an element to the end of the list. More... | |
| void | push_back (const refPtr< Field< Type > > &ptr) |
| Move or clone append a refPtr to the end of the list. More... | |
| void | push_back (const tmp< Field< Type > > &ptr) |
| Move or clone append a tmp to the end of the list. More... | |
| void | push_back (PtrList< Field< Type > > &&other) |
| Move append another list to the end of this list. More... | |
| void | push_back (autoPtr< Field< Type > > &ptr)=delete |
| Disallow push_back with autoPtr without std::move. More... | |
| Field< Type > & | emplace_set (const label i, Args &&... args) |
| Construct and set a new element at given position, (discard old element at that location). More... | |
| Field< Type > & | emplace (const label i, Args &&... args) |
| Same as emplace_set() More... | |
| Field< Type > & | try_emplace (const label i, Args &&... args) |
| Like emplace_set() but will not overwrite an occupied (non-null) location. More... | |
| 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... | |
| void | setSize (const label newLen) |
| Same as resize() More... | |
| void | append (autoPtr< Field< Type > > &ptr) |
| Move 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 (std::unique_ptr< 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 (const refPtr< Field< Type > > &ptr) |
| Move or clone append a tmp 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... | |
Public Member Functions inherited from UPtrList< T > | |
| constexpr | UPtrList () noexcept=default |
| Default construct. More... | |
| UPtrList (const label len) | |
Construct with specified size and set all entries to nullptr. More... | |
| UPtrList (const UPtrList< T > &list) | |
| Copy construct (shallow copies addresses) More... | |
| UPtrList (UPtrList< T > &&list) noexcept | |
| 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... | |
| bool | empty () const noexcept |
| True if the list is empty (ie, size() is zero) More... | |
| label | size () const noexcept |
| The number of entries in the list. More... | |
| label | capacity () const noexcept |
| Size of the underlying storage. More... | |
| label | count () const noexcept |
| The number of non-null entries in the list. More... | |
| T & | front () |
| Reference to the first element of the list. More... | |
| const T & | front () const |
| Reference to first element of the list. More... | |
| T & | back () |
| Reference to the last element of the list. More... | |
| const T & | back () const |
| Reference to the last element of the list. More... | |
| const T * | test (const label i) const |
| Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking). More... | |
| const T * | get (const label i) const |
| Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking). More... | |
| T * | get (const label i) |
| Return pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking). More... | |
| const T * | set (const label i) const |
| Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking). More... | |
| void | clear () |
| Set list size to zero. More... | |
| void | free () |
| Nullify all entries. Does not change the list size. More... | |
| void | resize (const label newLen) |
Change the size of the list. Any new entries are nullptr. More... | |
| void | resize_null (const label newLen) |
Set the list to the given size and set all entries to nullptr. More... | |
| label | squeezeNull () |
| Squeeze out nullptr entries in the list of pointers after which any null pointers will be at the end of the list. More... | |
| void | trimTrailingNull () |
| Reduce addressable list size to ignore any trailing null pointers. More... | |
| void | push_back (T *ptr) |
| Append an element to the end of the list. More... | |
| void | push_back (UPtrList< T > &&other) |
| Move append another list to the end of this list. More... | |
| void | swap (UPtrList< T > &list) noexcept |
| 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) |
| Set element to specified pointer and return the old list element, which can be a nullptr. More... | |
| void | reorder (const labelUList &oldToNew, const bool check=false) |
| Reorder elements. Reordering must be unique (ie, shuffle). More... | |
| void | sortOrder (const labelUList &order, const bool check=false) |
| Reorder elements according to new order mapping (newToOld). Reordering must be unique (ie, shuffle). More... | |
| void | checkNonNull () const |
| Check and raise FatalError if any nullptr exists in the list. More... | |
| const T & | at (const label i) const |
| Return const reference to the element at given position. FatalError for bounds problem or nullptr. More... | |
| T & | at (const label i) |
| Return reference to the element at given position. FatalError for bounds problem or nullptr. More... | |
| const T & | operator[] (const label i) const |
| Return const reference to the element at given position. FatalError for bounds problem or nullptr. Same as at(). More... | |
| T & | operator[] (const label i) |
| Return reference to the element at given position. FatalError for bounds problem or nullptr. Same as at(). More... | |
| FOAM_DEPRECATED_FOR (2022-09, "get(), set() or test() methods") const T *operator()(const label i) const | |
| Deprecated(2022-09) - 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 () |
| Return iterator to begin traversal of non-nullptr entries. More... | |
| iterator | end () noexcept |
| Return iterator beyond end of UPtrList traversal. More... | |
| const_iterator | cbegin () const |
| Return const_iterator to begin traversal of non-nullptr entries. More... | |
| const_iterator | cend () const noexcept |
| Return const_iterator beyond end of UPtrList traversal. More... | |
| const_iterator | begin () const |
| Return const_iterator to begin traversal of non-nullptr entries. More... | |
| const_iterator | end () const noexcept |
| Return const_iterator beyond end of UPtrList traversal. More... | |
| void | setSize (const label n) |
| Alias for resize() More... | |
| T & | first () |
| 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... | |
| 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... | |
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... | |
Protected Member Functions inherited from UPtrList< T > | |
| void | setAddressableSize (const label n) noexcept |
| Adjust addressable size. More... | |
| label | find_next (label pos) const |
| The next non-null entry after the specified position. More... | |
| UPtrList (Detail::PtrListDetail< T > &&ptrs) noexcept | |
| 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 51 of file FieldField.H.
Component type.
Definition at line 83 of file FieldField.H.
|
noexcept |
Construct null.
Used for temporary fields which are initialised after construction
Definition at line 101 of file FieldField.C.
|
explicit |
Construct given size.
Used for temporary fields which are initialised after construction
Definition at line 108 of file FieldField.C.
| FieldField | ( | const word & | type, |
| const FieldField< Field, Type > & | ff | ||
| ) |
Clone construct with new type.
Definition at line 116 of file FieldField.C.
| FieldField | ( | const FieldField< Field, Type > & | ff | ) |
Copy construct, cloning each element.
Definition at line 131 of file FieldField.C.
| FieldField | ( | FieldField< Field, Type > && | ff | ) |
Move construct.
Definition at line 138 of file FieldField.C.
| FieldField | ( | FieldField< Field, Type > & | ff, |
| bool | reuse | ||
| ) |
Construct as copy or re-use as specified.
Definition at line 145 of file FieldField.C.
| FieldField | ( | const PtrList< Field< Type >> & | list | ) |
Copy construct from PtrList.
Definition at line 152 of file FieldField.C.
| FieldField | ( | PtrList< Field< Type >> && | list | ) |
Move construct from PtrList.
Definition at line 159 of file FieldField.C.
| FieldField | ( | const tmp< FieldField< Field, Type >> & | tf | ) |
Move/copy construct from tmp<FieldField>
Definition at line 166 of file FieldField.C.
| FieldField | ( | Istream & | is | ) |
Construct from Istream.
Definition at line 175 of file FieldField.C.
| tmp< FieldField< Field, Type > > clone | ( | ) | const |
Clone.
Definition at line 182 of file FieldField.C.
|
static |
Return a pointer to a new calculatedFvPatchFieldField created on.
freestore without setting patchField values
Definition at line 191 of file FieldField.C.
Referenced by Foam::cmptAv(), Foam::cmptMag(), Foam::cmptMax(), Foam::cmptMin(), Foam::mag(), Foam::magSqr(), reuseTmpFieldField< Field, TypeR, Type1 >::New(), reuseTmpFieldField< Field, TypeR, TypeR >::New(), reuseTmpTmpFieldField< Field, TypeR, Type1, Type12, Type2 >::New(), reuseTmpTmpFieldField< Field, TypeR, Type1, Type12, TypeR >::New(), reuseTmpTmpFieldField< Field, TypeR, TypeR, TypeR, Type2 >::New(), reuseTmpTmpFieldField< Field, TypeR, TypeR, TypeR, TypeR >::New(), Foam::pow(), and Foam::sqr().

| void negate | ( | ) |
Negate this field. See notes in Field.
Definition at line 212 of file FieldField.C.
| void normalise | ( | ) |
Normalise this field. See notes in Field.
Definition at line 222 of file FieldField.C.
| tmp< FieldField< Field, typename FieldField< Field, Type >::cmptType > > component | ( | const direction | d | ) | const |
Return a component field of the field.
Definition at line 234 of file FieldField.C.
| void replace | ( | const direction | d, |
| const FieldField< Field, cmptType > & | sf | ||
| ) |
Replace a component field of the field.
Definition at line 252 of file FieldField.C.
Replace a component field of the field.
Definition at line 266 of file FieldField.C.
| void clamp_min | ( | const Type & | lower | ) |
Impose lower (floor) clamp on the field values (in-place)
Definition at line 280 of file FieldField.C.
| void clamp_max | ( | const Type & | upper | ) |
Impose upper (ceiling) clamp on the field values (in-place)
Definition at line 293 of file FieldField.C.
| void clamp_range | ( | const Type & | lower, |
| const Type & | upper | ||
| ) |
Clamp field values (in-place) to the specified range.
Does not check if range is valid or not.
Definition at line 306 of file FieldField.C.
| void clamp_range | ( | const MinMax< Type > & | range | ) |
Clamp field values (in-place) to the specified range.
Does not check if range is valid or not.
Definition at line 322 of file FieldField.C.
| tmp< FieldField< Field, Type > > T | ( | ) | const |
Return the field transpose (only defined for second rank tensors)
Definition at line 336 of file FieldField.C.
Const access to a single field element via (fieldi, elemi)
Definition at line 351 of file FieldField.C.
Non-const access to a single field element via (fieldi, elemi)
Definition at line 358 of file FieldField.C.
| void operator= | ( | const FieldField< Field, Type > & | ff | ) |
Copy assignment.
Definition at line 365 of file FieldField.C.
| void operator= | ( | FieldField< Field, Type > && | ff | ) |
Move assignment.
Definition at line 382 of file FieldField.C.
| void operator= | ( | const tmp< FieldField< Field, Type >> & | ) |
Move or clone assignment.
| void operator= | ( | const Type & | val | ) |
Assign uniform value.
Definition at line 414 of file FieldField.C.
| void operator= | ( | const Foam::zero | ) |
Assign uniform zero.
Definition at line 424 of file FieldField.C.
| void operator+= | ( | const FieldField< Field, Type > & | f | ) |
Definition at line 463 of file FieldField.C.
| void operator+= | ( | const tmp< FieldField< Field, Type >> & | tf | ) |
Definition at line 463 of file FieldField.C.
| void operator-= | ( | const FieldField< Field, Type > & | f | ) |
Definition at line 464 of file FieldField.C.
| void operator-= | ( | const tmp< FieldField< Field, Type >> & | tf | ) |
Definition at line 464 of file FieldField.C.
| void operator*= | ( | const FieldField< Field, scalar > & | f | ) |
Definition at line 465 of file FieldField.C.
| void operator*= | ( | const tmp< FieldField< Field, scalar >> & | tf | ) |
Definition at line 465 of file FieldField.C.
| void operator/= | ( | const FieldField< Field, scalar > & | f | ) |
Definition at line 466 of file FieldField.C.
| void operator/= | ( | const tmp< FieldField< Field, scalar >> & | tf | ) |
Definition at line 466 of file FieldField.C.
| void operator+= | ( | const Type & | t | ) |
Definition at line 463 of file FieldField.C.
| void operator-= | ( | const Type & | t | ) |
Definition at line 464 of file FieldField.C.
| void operator*= | ( | const scalar & | t | ) |
Definition at line 465 of file FieldField.C.
| void operator/= | ( | const scalar & | t | ) |
Definition at line 466 of file FieldField.C.
|
friend |
|
friend |