SubField is a Field obtained as a section of another Field, without its own allocation. SubField is derived from a SubList rather than a List. More...
#include <SubField.H>


Public Types | |
| typedef pTraits< Type >::cmptType | cmptType |
| Component type. | |
| Public Types inherited from UList< Type > | |
| typedef Type | value_type |
| The value type the list contains. | |
| typedef Type * | pointer |
| The pointer type for non-const access to value_type items. | |
| typedef const Type * | const_pointer |
| The pointer type for const access to value_type items. | |
| typedef Type & | reference |
| The type used for storing into value_type objects. | |
| typedef const Type & | const_reference |
| The type used for reading from constant value_type objects. | |
| typedef Type * | iterator |
| Random access iterator for traversing a UList. | |
| typedef const Type * | const_iterator |
| Random access iterator for traversing a UList. | |
| typedef label | size_type |
| The type to represent the size of a UList. | |
| typedef label | difference_type |
| The difference between iterator objects. | |
| typedef std::reverse_iterator< iterator > | reverse_iterator |
| Reverse iterator (non-const access). | |
| typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
| Reverse iterator (const access). | |
| using | is_List |
| Have unique tag. | |
Public Member Functions | |
| SubField () noexcept=default | |
| Default construct, zero-sized and nullptr. | |
| SubField (const SubField< Type > &fld) | |
| Copy construct (shallow copy). | |
| SubField (const SubList< Type > &list) | |
| Copy construct from SubList. | |
| SubField (const UList< Type > &list) noexcept | |
| Construct from UList, the entire size. | |
| SubField (const UList< Type > &list, const label len) | |
| Construct from UList with a given sub-list size, start at 0. | |
| SubField (const UList< Type > &list, const label len, const label start) | |
| Construct from UList, sub-list size and start index. | |
| SubField (const UList< Type > &list, const labelRange &range) | |
| Construct from UList and a (start,size) range. | |
| SubField (const labelRange &range, const UList< Type > &list) | |
| Construct from UList and a (start,size) range, but bypassing run-time range checking. | |
| tmp< Field< cmptType > > | component (const direction) const |
| Return a component field of the field. | |
| tmp< Field< Type > > | T () const |
| Return the field transpose (only defined for second rank tensors). | |
| operator const Foam::Field< Type > & () const | |
| Allow cast to a const Field<Type>&. | |
| void | operator= (const SubField< Type > &) |
| Copy assign via UList operator. Takes linear time. | |
| void | operator= (const Field< Type > &) |
| Copy assign via UList operator. Takes linear time. | |
| void | operator= (const Type &val) |
| Assign all entries to the given value. | |
| void | operator= (Foam::zero) |
| Assign all entries to zero. | |
| template<class Form, direction Ncmpts> | |
| void | operator= (const VectorSpace< Form, Type, Ncmpts > &rhs) |
| Copy assign via UList operator. Takes linear time. | |
| void | operator+= (const Type &val) |
| Add value to each entry. | |
| void | operator-= (const Type &val) |
| Subtract value from each entry. | |
| void | operator*= (const scalar &s) |
| Multiply each entry by value. | |
| void | operator/= (const scalar &s) |
| Divide each entry by value. | |
| Public Member Functions inherited from FieldBase | |
| constexpr | FieldBase () noexcept |
| Default construct. | |
| Public Member Functions inherited from refCount | |
| constexpr | refCount () noexcept |
| Default construct, initializing count to 0. | |
| int | use_count () const noexcept |
| Return the current reference count. | |
| bool | unique () const noexcept |
| Return true if the reference count is zero. | |
| void | operator++ () noexcept |
| Increment the reference count. | |
| void | operator++ (int) noexcept |
| Increment the reference count. | |
| void | operator-- () noexcept |
| Decrement the reference count. | |
| void | operator-- (int) noexcept |
| Decrement the reference count. | |
| Public Member Functions inherited from SubList< Type > | |
| SubList () noexcept=default | |
| Default construct, zero-sized and nullptr. | |
| UList< Type > & | reset (std::nullptr_t) noexcept |
| Reset to zero-sized and nullptr. | |
| operator const Foam::List< Type > & () const | |
| Allow cast to a const List<T>&. | |
| void | operator= (const SubList< Type > &list) |
| Copy assign entries (deep copy) from given sub-list. Sizes must match! | |
| Public Member Functions inherited from UList< Type > | |
| UList (const UList< Type > &) noexcept=default | |
| Copy construct, shallow copy. | |
| UList< Type > & | operator= (const UList< Type > &)=delete |
| No copy assignment (default: shallow copy). | |
| label | fcIndex (const label i) const noexcept |
| The forward circular index. The next index in the list which returns to the first at the end of the list. | |
| label | rcIndex (const label i) const noexcept |
| The reverse circular index. The previous index in the list which returns to the last at the beginning of the list. | |
| const Type & | fcValue (const label i) const |
| Return forward circular value (ie, next value in the list). | |
| const Type & | rcValue (const label i) const |
| Return reverse circular value (ie, previous value in the list). | |
| const Type * | cdata () const noexcept |
| Return pointer to the underlying array serving as data storage. | |
| Type * | data () noexcept |
| Return pointer to the underlying array serving as data storage. | |
| const char * | cdata_bytes () const noexcept |
| Return pointer to the underlying array serving as data storage,. | |
| char * | data_bytes () noexcept |
| Return pointer to the underlying array serving as data storage,. | |
| Type & | front () |
| Access first element of the list, position [0]. | |
| Type & | back () |
| Access last element of the list, position [size()-1]. | |
| std::streamsize | size_bytes () const noexcept |
| Number of contiguous bytes for the List data. | |
| std::streamsize | byteSize () const |
| Number of contiguous bytes for the List data, runtime FatalError if type is not contiguous. | |
| void | checkStart (const label start) const |
| Check start is within valid range [0,size). | |
| void | checkSize (const label size) const |
| Check size is within valid range [0,size]. | |
| void | checkRange (const label start, const label len) const |
| Check that start and length define a valid range. | |
| void | checkIndex (const label i) const |
| Check index is within valid range [0,size). | |
| bool | uniform () const |
| True if all entries have identical values, and list is non-empty. | |
| bool | contains (const Type &val) const |
| True if the value is contained in the list. | |
| label | find (const Type &val) const |
| Find index of the first occurrence of the value. | |
| label | rfind (const Type &val, label pos=-1) const |
| Find index of the last occurrence of the value. | |
| void | moveFirst (const label i) |
| Move element to the first position. | |
| void | moveLast (const label i) |
| Move element to the last position. | |
| void | swapFirst (const label i) |
| Swap element with the first element. Fatal on an empty list. | |
| void | swapLast (const label i) |
| Swap element with the last element. Fatal on an empty list. | |
| void | shallowCopy (Type *__restrict__ ptr, const label len) noexcept |
| Copy the pointer and size. | |
| void | deepCopy (const UList< Type > &list) |
| Copy elements of the given UList. Sizes must match! | |
| SubList< Type > | slice (const label pos, label len=-1) |
| Return SubList slice (non-const access) - no range checking. | |
| Type & | operator[] (const label i) |
| Return element of UList. | |
| operator const Foam::List< Type > & () const | |
| Allow cast to a const List<T>&. | |
| iterator | begin () noexcept |
| Return an iterator to begin traversing the UList. | |
| iterator | end () noexcept |
| Return an iterator to end traversing the UList. | |
| const_iterator | cbegin () const noexcept |
| Return const_iterator to begin traversing the constant UList. | |
| const_iterator | cend () const noexcept |
| Return const_iterator to end traversing the constant UList. | |
| reverse_iterator | rbegin () |
| Return reverse_iterator to begin reverse traversing the UList. | |
| reverse_iterator | rend () |
| Return reverse_iterator to end reverse traversing the UList. | |
| const_reverse_iterator | crbegin () const |
| Return const_reverse_iterator to begin reverse traversing the UList. | |
| const_reverse_iterator | crend () const |
| Return const_reverse_iterator to end reverse traversing the UList. | |
| bool | empty () const noexcept |
| True if List is empty (ie, size() is zero). | |
| label | capacity () const noexcept |
| Size of the underlying storage. | |
| void | swap (UList< Type > &list) noexcept |
| Swap content with another UList of the same type in constant time. | |
| bool | operator== (const UList< Type > &list) const |
| Equality operation on ULists of the same type. | |
| bool | operator!= (const UList< Type > &list) const |
| The opposite of the equality operation. Takes linear time. | |
| bool | operator< (const UList< Type > &list) const |
| Compare two ULists lexicographically. Takes linear time. | |
| bool | operator> (const UList< Type > &list) const |
| Compare two ULists lexicographically. Takes linear time. | |
| bool | operator<= (const UList< Type > &list) const |
| Return true if !(a > b). Takes linear time. | |
| bool | operator>= (const UList< Type > &list) const |
| Return true if !(a < b). Takes linear time. | |
| Istream & | readList (Istream &is) |
| Read List contents from Istream. | |
| Ostream & | writeList (Ostream &os, const label shortLen=0) const |
| Write List, with line-breaks in ASCII when length exceeds shortLen. | |
| bool | all () const |
| True if all entries are 'true' or if the list is empty. | |
| bool | any () const |
| True if any entries are 'true'. | |
| bool | none () const |
| True if no entries are 'true'. | |
| bool | test (const label i) const |
Test bool value at specified position, always false for out-of-range access. | |
| bool | get (const label i) const |
Return bool value at specified position, always false for out-of-range access. | |
| bool | unset (const label i) |
Unset the bool entry at specified position, always false for out-of-range access. | |
| std::string_view | view () const |
| Return a string_view of the charList. Content is non-modifiable. | |
| Type & | first () |
| Access first element of the list, position [0]. | |
| Type & | last () |
| Access last element of the list, position [size()-1]. | |
| bool | found (const Type &val, label pos=0) const |
| Same as contains(). | |
| auto | expr () const |
| Wrap value as expression. | |
Static Public Member Functions | |
| static const SubField< Type > & | null () noexcept |
| Return a null SubField (reference to a nullObject). Behaves like an empty SubField. | |
| Static Public Member Functions inherited from FieldBase | |
| static void | warnLocalBoundaryConsistencyCompat (const dictionary &) |
| Warn about keyword changes for local boundary consistency checks. | |
| static int | localBoundaryConsistency () noexcept |
| Get flag for local boundary consistency checks. | |
| static int | localBoundaryConsistency (int val) noexcept |
| Set flag for local boundary consistency checks. | |
| Static Public Member Functions inherited from SubList< Type > | |
| static const SubList< Type > & | null () noexcept |
| Return a null SubList (reference to a nullObject). Behaves like an empty SubList. | |
| Static Public Member Functions inherited from UList< Type > | |
| static const UList< Type > & | null () noexcept |
| Return a null UList (reference to a nullObject). Behaves like an empty UList. | |
| static constexpr label | max_size () noexcept |
| The size of the largest possible UList. | |
Additional Inherited Members | |
| Static Public Attributes inherited from FieldBase | |
| static const char *const | typeName |
| Typename for Field. | |
| static bool | allowConstructFromLargerSize = false |
| Permit read construct from a larger size. | |
| static bool | unifiedGeometricField |
| GeometricField with extra capacity for flattened boundary fields. Uses opt-switch "unifiedGeometricField". | |
| static int | localBoundaryConsistency_ |
| Local boundary field consistency checks. Uses opt-switch "localBoundaryConsistency". | |
| static scalar | localBoundaryTolerance_ |
| Tolerance for local boundary field consistency checks. Uses opt-switch "localBoundaryConsistency::tolerance". | |
| Protected Member Functions inherited from UList< Type > | |
| void | setAddressableSize (const label n) noexcept |
| Set addressed size to be inconsistent with allocated storage. | |
| void | size (const label n) |
| Older name for setAddressableSize. | |
| void | writeEntry (Ostream &os) const |
| Write the UList with its compound type. | |
| labelRange | validateRange (const labelRange &requestedRange) const |
| Return a validated (start,size) subset range, which means that it always addresses a valid section of the list. | |
| void | fill_uniform (const Type &val) |
| Assign all entries to the given value. | |
SubField is a Field obtained as a section of another Field, without its own allocation. SubField is derived from a SubList rather than a List.
Definition at line 54 of file SubField.H.
Component type.
Definition at line 64 of file SubField.H.
|
defaultnoexcept |
Default construct, zero-sized and nullptr.
References component(), fld(), FOAM_DEPRECATED_STRICTER, Foam::noexcept, range, SubField(), SubList< Type >::SubList(), and T().
Referenced by null(), operator=(), SubField(), and SubField().


|
inline |
Copy construct (shallow copy).
Definition at line 25 of file SubFieldI.H.
References fld(), SubField(), and SubList< Type >::SubList().

|
inline |
Copy construct from SubList.
Definition at line 35 of file SubFieldI.H.
References SubList< Type >::SubList().

|
inlineexplicitnoexcept |
Construct from UList, the entire size.
Definition at line 45 of file SubFieldI.H.
References Foam::noexcept, and SubList< Type >::SubList().

|
inline |
Construct from UList with a given sub-list size, start at 0.
Definition at line 55 of file SubFieldI.H.
References SubList< Type >::SubList().

|
inline |
Construct from UList, sub-list size and start index.
Definition at line 66 of file SubFieldI.H.
References SubList< Type >::SubList().

|
inline |
Construct from UList and a (start,size) range.
The range is subsetted with the list size itself to ensure that the result always addresses a valid section of the list.
Definition at line 78 of file SubFieldI.H.
References range, and SubList< Type >::SubList().

|
inline |
Construct from UList and a (start,size) range, but bypassing run-time range checking.
Definition at line 89 of file SubFieldI.H.
References range, and SubList< Type >::SubList().

|
inlinestaticnoexcept |
Return a null SubField (reference to a nullObject). Behaves like an empty SubField.
Definition at line 73 of file SubField.H.
References Foam::noexcept, Foam::NullObjectRef(), and SubField().

|
inline |
Return a component field of the field.
Definition at line 103 of file SubFieldI.H.
Referenced by SubField().

|
inline |
Return the field transpose (only defined for second rank tensors).
Definition at line 113 of file SubFieldI.H.
Referenced by SubField().

|
inline |
Allow cast to a const Field<Type>&.
Definition at line 165 of file SubField.H.
|
inline |
Copy assign via UList operator. Takes linear time.
Definition at line 122 of file SubFieldI.H.
References SubList< T >::operator=(), Foam::rhs(), and SubField().

|
inline |
Copy assign via UList operator. Takes linear time.
Definition at line 129 of file SubFieldI.H.
References SubList< T >::operator=(), and Foam::rhs().

|
inline |
Assign all entries to the given value.
Definition at line 136 of file SubFieldI.H.
References SubList< T >::operator=().

|
inline |
Assign all entries to zero.
Definition at line 143 of file SubFieldI.H.
References SubList< T >::operator=().

|
inline |
Copy assign via UList operator. Takes linear time.
Definition at line 151 of file SubFieldI.H.
|
inline |
Add value to each entry.
Definition at line 164 of file SubFieldI.H.
|
inline |
Subtract value from each entry.
Definition at line 174 of file SubFieldI.H.
|
inline |
Multiply each entry by value.
Definition at line 184 of file SubFieldI.H.
References s().

|
inline |
Divide each entry by value.
Definition at line 194 of file SubFieldI.H.
References s().
