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...
Public Types | |
typedef pTraits< Type >::cmptType | cmptType |
Component type. More... | |
Public Types inherited from UList< Type > | |
typedef Type | value_type |
The value type the list contains. More... | |
typedef Type * | pointer |
The pointer type for non-const access to value_type items. More... | |
typedef const Type * | const_pointer |
The pointer type for const access to value_type items. More... | |
typedef Type & | reference |
The type used for storing into value_type objects. More... | |
typedef const Type & | const_reference |
The type used for reading from constant value_type objects. More... | |
typedef Type * | iterator |
Random access iterator for traversing a UList. More... | |
typedef const Type * | const_iterator |
Random access iterator for traversing a UList. More... | |
typedef label | size_type |
The type to represent the size of a UList. More... | |
typedef label | difference_type |
The difference between iterator objects. More... | |
typedef std::reverse_iterator< iterator > | reverse_iterator |
Reverse iterator (non-const access) More... | |
typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
Reverse iterator (const access) More... | |
Public Member Functions | |
SubField () noexcept=default | |
Default construct, zero-sized and nullptr. More... | |
SubField (const SubField< Type > &fld) | |
Copy construct (shallow copy) More... | |
SubField (const SubList< Type > &list) | |
Copy construct from SubList. More... | |
SubField (const UList< Type > &list) noexcept | |
Construct from UList, the entire size. More... | |
SubField (const UList< Type > &list, const label len) | |
Construct from UList with a given sub-list size, start at 0. More... | |
SubField (const UList< Type > &list, const label len, const label start) | |
Construct from UList, sub-list size and start index. More... | |
SubField (const UList< Type > &list, const labelRange &range) | |
Construct from UList and a (start,size) range. More... | |
SubField (const labelRange &range, const UList< Type > &list) | |
Construct from UList and a (start,size) range, but bypassing run-time range checking. 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... | |
operator const Foam::Field< Type > & () const | |
Allow cast to a const Field<Type>&. More... | |
void | operator= (const SubField< Type > &) |
Copy assign via UList operator. Takes linear time. More... | |
void | operator= (const Field< Type > &) |
Copy assign via UList operator. Takes linear time. More... | |
void | operator= (const Type &val) |
Assign all entries to the given value. More... | |
void | operator= (const Foam::zero) |
Assign all entries to zero. More... | |
template<class Form , direction Ncmpts> | |
void | operator= (const VectorSpace< Form, Type, Ncmpts > &rhs) |
Copy assign via UList operator. Takes linear time. More... | |
void | operator+= (const Type &val) |
Add value to each entry. More... | |
void | operator-= (const Type &val) |
Subtract value from each entry. More... | |
void | operator*= (const scalar &s) |
Multiply each entry by value. More... | |
void | operator/= (const scalar &s) |
Divide each entry by value. More... | |
Public Member Functions inherited from FieldBase | |
constexpr | FieldBase () noexcept |
Default construct. More... | |
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 SubList< Type > | |
SubList () noexcept=default | |
Default construct, zero-sized and nullptr. More... | |
SubList (const SubList< Type > &) noexcept=default | |
Copy construct, shallow copy. More... | |
SubList (const UList< Type > &list) noexcept | |
Construct from UList, the entire size. More... | |
SubList (const FixedList< Type, N > &list) noexcept | |
Construct from FixedList, the entire size. More... | |
SubList (const UList< Type > &list, const label len) | |
Construct from UList and sub-list size, start at 0. More... | |
SubList (const UList< Type > &list, const label len, const label start) | |
Construct from UList, sub-list size and start index. More... | |
SubList (const UList< Type > &list, const labelRange &range) | |
Construct from UList and a (start,size) range. More... | |
SubList (const labelRange &range, const UList< Type > &list) | |
Construct from UList and a (start,size) range, but bypassing run-time range checking. More... | |
UList< Type > & | reset (std::nullptr_t) noexcept |
Reset to zero-sized and nullptr. More... | |
UList< Type > & | reset (const UList< Type > &list) noexcept |
Reset to use entire UList. More... | |
UList< Type > & | reset (const UList< Type > &list, const label len) |
Reset to use UList with sub-list size, start at 0. More... | |
UList< Type > & | reset (const UList< Type > &list, const label len, const label start) |
Reset to use UList with sub-list size and start index. More... | |
UList< Type > & | reset (const UList< Type > &list, const labelRange &range) |
Reset to use UList with a (start,size) range. More... | |
UList< Type > & | reset (const labelRange &range, const UList< Type > &list) |
Reset to use UList with a (start,size) range, but bypassing run-time range checking. More... | |
operator const Foam::List< Type > & () const | |
Allow cast to a const List<T>&. More... | |
void | operator= (const SubList< Type > &list) |
Copy assign entries from given sub-list. Sizes must match! More... | |
void | operator= (const UList< Type > &list) |
Copy assign entries from given list. Sizes must match! More... | |
void | operator= (const IndirectListBase< Type, Addr > &list) |
Copy assign entries from given indirect list. Sizes must match! More... | |
void | operator= (const Type &val) |
Assign all entries to the given value. More... | |
void | operator= (const Foam::zero) |
Assign all entries to zero. More... | |
Public Member Functions inherited from UList< Type > | |
label | size () const noexcept |
The number of elements in the container. More... | |
void | writeEntry (const word &keyword, Ostream &os) const |
Write the List as a dictionary entry with keyword. More... | |
void | operator= (const Type &val) |
Assignment of all entries to the given value. More... | |
void | operator= (const Foam::zero) |
Assignment of all entries to zero. More... | |
UList (const UList< Type > &)=default | |
Copy construct. More... | |
constexpr | UList () noexcept |
Default construct, zero-sized and nullptr. More... | |
UList (Type *__restrict__ v, const label len) noexcept | |
Construct from components. More... | |
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. More... | |
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. More... | |
const Type & | fcValue (const label i) const |
Return forward circular value (ie, next value in the list) More... | |
Type & | fcValue (const label i) |
Return forward circular value (ie, next value in the list) More... | |
const Type & | rcValue (const label i) const |
Return reverse circular value (ie, previous value in the list) More... | |
Type & | rcValue (const label i) |
Return reverse circular value (ie, previous value in the list) More... | |
const Type * | cdata () const noexcept |
Return pointer to the underlying array serving as data storage. More... | |
Type * | data () noexcept |
Return pointer to the underlying array serving as data storage. More... | |
const char * | cdata_bytes () const noexcept |
Return pointer to the underlying array serving as data storage,. More... | |
char * | data_bytes () noexcept |
Return pointer to the underlying array serving as data storage,. More... | |
Type & | front () |
Access first element of the list, position [0]. More... | |
const Type & | front () const |
Access first element of the list. More... | |
Type & | back () |
Access last element of the list, position [size()-1]. More... | |
const Type & | back () const |
Access last element of the list, position [size()-1]. More... | |
std::streamsize | size_bytes () const noexcept |
Number of contiguous bytes for the List data. More... | |
std::streamsize | byteSize () const |
Number of contiguous bytes for the List data, runtime FatalError if type is not contiguous. More... | |
void | checkStart (const label start) const |
Check start is within valid range [0,size) More... | |
void | checkSize (const label size) const |
Check size is within valid range [0,size]. More... | |
void | checkRange (const label start, const label len) const |
Check that start and length define a valid range. More... | |
void | checkIndex (const label i) const |
Check index is within valid range [0,size) More... | |
bool | uniform () const |
True if all entries have identical values, and list is non-empty. More... | |
bool | contains (const Type &val) const |
True if the value is contained in the list. More... | |
bool | contains (const Type &val, label pos, label len=-1) const |
Is the value contained in the list? More... | |
label | find (const Type &val) const |
Find index of the first occurrence of the value. More... | |
label | find (const Type &val, label pos, label len=-1) const |
Find index of the first occurrence of the value. More... | |
label | rfind (const Type &val, label pos=-1) const |
Find index of the last occurrence of the value. More... | |
void | moveFirst (const label i) |
Move element to the first position. More... | |
void | moveLast (const label i) |
Move element to the last position. More... | |
void | swapFirst (const label i) |
Swap element with the first element. Fatal on an empty list. More... | |
void | swapLast (const label i) |
Swap element with the last element. Fatal on an empty list. More... | |
void | shallowCopy (Type *__restrict__ ptr, const label len) noexcept |
Copy the pointer and size. More... | |
void | shallowCopy (std::nullptr_t) noexcept |
Copy nullptr and zero size. More... | |
void | shallowCopy (const UList< Type > &list) noexcept |
Copy the pointer and size held by the given UList. More... | |
void | deepCopy (const UList< Type > &list) |
Copy elements of the given UList. Sizes must match! More... | |
void | deepCopy (const IndirectListBase< Type, Addr > &list) |
Copy elements of the given indirect list. Sizes must match! More... | |
SubList< Type > | slice (const label pos, label len=-1) |
Return SubList slice (non-const access) - no range checking. More... | |
const SubList< Type > | slice (const label pos, label len=-1) const |
Return SubList slice (const access) - no range checking. More... | |
SubList< Type > | slice (const labelRange &range) |
Return SubList slice (non-const access) - with range checking. More... | |
const SubList< Type > | slice (const labelRange &range) const |
Return SubList slice (const access) - with range checking. More... | |
Type & | operator[] (const label i) |
Return element of UList. More... | |
const Type & | operator[] (const label i) const |
Return element of constant UList. More... | |
const bool & | operator[] (const label i) const |
UPstream::commsStruct & | operator[] (const label procID) |
const UPstream::commsStruct & | operator[] (const label procID) const |
Foam::UPstream::commsStruct & | operator[] (const label procID) |
const Foam::UPstream::commsStruct & | operator[] (const label procID) const |
operator const Foam::List< Type > & () const | |
Allow cast to a const List<T>&. More... | |
iterator | begin () noexcept |
Return an iterator to begin traversing the UList. More... | |
iterator | begin (const label i) noexcept |
Return iterator at offset i from begin, clamped to [0,size] range. More... | |
const_iterator | begin () const noexcept |
Return const_iterator to begin traversing the constant UList. More... | |
const_iterator | begin (const label i) const noexcept |
Return const_iterator at offset i from begin, clamped to [0,size] range. More... | |
iterator | end () noexcept |
Return an iterator to end traversing the UList. More... | |
const_iterator | end () const noexcept |
Return const_iterator to end traversing the constant UList. More... | |
const_iterator | cbegin () const noexcept |
Return const_iterator to begin traversing the constant UList. More... | |
const_iterator | cbegin (const label i) const noexcept |
Return const_iterator at offset i from begin, clamped to [0,size] range. More... | |
const_iterator | cend () const noexcept |
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... | |
bool | empty () const noexcept |
True if List is empty (ie, size() is zero) More... | |
label | capacity () const noexcept |
Size of the underlying storage. More... | |
void | swap (UList< Type > &list) noexcept |
Swap content with another UList of the same type in constant time. More... | |
bool | operator== (const UList< Type > &list) const |
Equality operation on ULists of the same type. More... | |
bool | operator!= (const UList< Type > &list) const |
The opposite of the equality operation. Takes linear time. More... | |
bool | operator< (const UList< Type > &list) const |
Compare two ULists lexicographically. Takes linear time. More... | |
bool | operator> (const UList< Type > &list) const |
Compare two ULists lexicographically. Takes linear time. More... | |
bool | operator<= (const UList< Type > &list) const |
Return true if !(a > b). Takes linear time. More... | |
bool | operator>= (const UList< Type > &list) const |
Return true if !(a < b). Takes linear time. More... | |
Istream & | readList (Istream &is) |
Read List contents from Istream. More... | |
Ostream & | writeList (Ostream &os, const label shortLen=0) const |
Write List, with line-breaks in ASCII when length exceeds shortLen. More... | |
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type | test (const label i) const |
Test bool value at specified position, always false for out-of-range access. More... | |
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type | get (const label i) const |
Return bool value at specified position, always false for out-of-range access. More... | |
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type | unset (const label i) |
Unset the bool entry at specified position, always false for out-of-range access. More... | |
Type & | first () |
Access first element of the list, position [0]. More... | |
const Type & | first () const |
Access first element of the list. More... | |
Type & | last () |
Access last element of the list, position [size()-1]. More... | |
const Type & | last () const |
Access last element of the list, position [size()-1]. More... | |
bool | found (const Type &val, label pos=0) const |
Same as contains() More... | |
Static Public Member Functions | |
static const SubField< Type > & | null () noexcept |
Return a null SubField (reference to a nullObject). Behaves like an empty SubField. More... | |
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. More... | |
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. More... | |
static constexpr label | max_size () noexcept |
The size of the largest possible UList. More... | |
Additional Inherited Members | |
Static Public Attributes inherited from FieldBase | |
static const char *const | typeName |
Typename for Field. More... | |
static bool | allowConstructFromLargerSize = false |
Permit read construct from a larger size. More... | |
Protected Member Functions inherited from UList< Type > | |
void | setAddressableSize (const label n) noexcept |
Set addressed size to be inconsistent with allocated storage. More... | |
void | size (const label n) |
Older name for setAddressableSize. More... | |
void | writeEntry (Ostream &os) const |
Write the UList with its compound type. More... | |
void | writeEntry (Ostream &os) const |
Character list writeEntry. More... | |
void | writeEntry (Ostream &os) const |
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. More... | |
void | fill_uniform (const Type &val) |
Assign all entries to the given value. More... | |
void | fill_uniform (const Foam::zero) |
Assign all entries to zero. More... | |
UList< Type > & | operator= (const UList< Type > &)=delete |
No copy assignment (default: shallow copy) More... | |
void | operator= (const Foam::zero) |
Character list assign zero - avoids Foam::zero casting ambiguities. More... | |
void | operator= (const Foam::zero) |
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.
Component type.
Definition at line 64 of file SubField.H.
|
defaultnoexcept |
Default construct, zero-sized and nullptr.
Copy construct (shallow copy)
Definition at line 26 of file SubFieldI.H.
Copy construct from SubList.
Definition at line 36 of file SubFieldI.H.
Construct from UList, the entire size.
Definition at line 46 of file SubFieldI.H.
Construct from UList with a given sub-list size, start at 0.
Definition at line 56 of file SubFieldI.H.
Construct from UList, sub-list size and start index.
Definition at line 67 of file SubFieldI.H.
|
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 79 of file SubFieldI.H.
|
inline |
Construct from UList and a (start,size) range, but bypassing run-time range checking.
Definition at line 90 of file SubFieldI.H.
|
inlinestaticnoexcept |
Return a null SubField (reference to a nullObject). Behaves like an empty SubField.
Definition at line 73 of file SubField.H.
|
inline |
Return a component field of the field.
Definition at line 104 of file SubFieldI.H.
|
inline |
Return the field transpose (only defined for second rank tensors)
Definition at line 113 of file SubFieldI.H.
|
inline |
Allow cast to a const Field<Type>&.
Definition at line 122 of file SubFieldI.H.
|
inline |
Copy assign via UList operator. Takes linear time.
Definition at line 129 of file SubFieldI.H.
|
inline |
Copy assign via UList operator. Takes linear time.
Definition at line 136 of file SubFieldI.H.
|
inline |
Assign all entries to the given value.
Definition at line 143 of file SubFieldI.H.
|
inline |
Assign all entries to zero.
Definition at line 150 of file SubFieldI.H.
|
inline |
Copy assign via UList operator. Takes linear time.
Definition at line 159 of file SubFieldI.H.
|
inline |
Add value to each entry.
Definition at line 171 of file SubFieldI.H.
|
inline |
Subtract value from each entry.
Definition at line 181 of file SubFieldI.H.
|
inline |
Multiply each entry by value.
Definition at line 191 of file SubFieldI.H.
|
inline |
Divide each entry by value.
Definition at line 201 of file SubFieldI.H.