fieldSelection Class Reference

Helper class to manage field selections. More...

Inheritance diagram for fieldSelection:
[legend]
Collaboration diagram for fieldSelection:
[legend]

Public Member Functions

 fieldSelection (const objectRegistry &obr, const bool includeComponents=false)
 Construct from object registry. More...
 
virtual ~fieldSelection ()=default
 Destructor. More...
 
HashSet< wordRefilters () const
 Return the cuurent filters. More...
 
const List< fieldInfo > & selection () const
 
wordHashSet selectionNames () const
 Return the current field selection. More...
 
virtual bool resetFieldFilters (const HashSet< wordRe > &names)
 Reset the field filters to the given field names. More...
 
virtual bool resetFieldFilters (const wordRe &name)
 Reset the field filters to the given field name. More...
 
virtual bool read (const dictionary &dict)
 Read the fieldSelection data from dictionary. More...
 
virtual bool containsPattern () const
 Return whether the field names contain a pattern. More...
 
virtual void clearSelection ()
 Clear the current selection. More...
 
virtual bool updateSelection ()
 Update the selection. More...
 
virtual bool checkSelection ()
 Check that all requested fielda have been found. More...
 
- Public Member Functions inherited from List< fieldInfo >
constexpr List () noexcept
 Default construct. More...
 
 List (const label len)
 Construct with given size. More...
 
 List (const label len, const fieldInfo &val)
 Construct with given size and value for all elements. More...
 
 List (const label len, const Foam::zero)
 Construct with given size initializing all elements to zero. More...
 
 List (const Foam::one, const fieldInfo &val)
 Construct with length=1, copying the value as the only content. More...
 
 List (const Foam::one, fieldInfo &&val)
 Construct with length=1, moving the value as the only content. More...
 
 List (const Foam::one, const Foam::zero)
 Construct with length=1, initializing content to zero. More...
 
 List (const List< fieldInfo > &a)
 Copy construct from list. More...
 
 List (const UList< fieldInfo > &a)
 Copy construct contents from list. More...
 
 List (List< fieldInfo > &a, bool reuse)
 Construct as copy or re-use as specified. More...
 
 List (const UList< fieldInfo > &list, const labelUList &indices)
 Copy construct subset of list. More...
 
 List (const UList< fieldInfo > &list, const FixedList< label, N > &indices)
 Copy construct subset of list. More...
 
 List (const FixedList< fieldInfo, N > &list)
 Construct as copy of FixedList<T, N> More...
 
 List (const PtrList< fieldInfo > &list)
 Construct as copy of PtrList<T> More...
 
 List (const SLList< fieldInfo > &list)
 Construct as copy of SLList<T> More...
 
 List (const IndirectListBase< fieldInfo, Addr > &list)
 Construct as copy of IndirectList contents. More...
 
 List (std::initializer_list< fieldInfo > list)
 Construct from an initializer list. More...
 
 List (List< fieldInfo > &&list)
 Move construct from List. More...
 
 List (DynamicList< fieldInfo, SizeMin > &&list)
 Move construct from DynamicList. More...
 
 List (SortableList< fieldInfo > &&list)
 Move construct from SortableList. More...
 
 List (SLList< fieldInfo > &&list)
 Move construct from SLList. More...
 
 List (Istream &is)
 Construct from Istream. More...
 
autoPtr< List< fieldInfo > > clone () const
 Clone. More...
 
 ~List ()
 Destructor. More...
 
void clear ()
 Clear the list, i.e. set size to zero. More...
 
void resize (const label len)
 Adjust allocated size of list. More...
 
void resize (const label len, const fieldInfo &val)
 Adjust allocated size of list and set val for new elements. More...
 
void resize (const label newLen)
 
void resize_nocopy (const label len)
 Adjust allocated size of list without necessarily. More...
 
void setSize (const label n)
 Alias for resize() More...
 
void setSize (const label n, const fieldInfo &val)
 Alias for resize() More...
 
void append (const fieldInfo &val)
 Append an element at the end of the list. More...
 
void append (fieldInfo &&val)
 Move append an element at the end of the list. More...
 
void append (const UList< fieldInfo > &list)
 Append a List to the end of this list. More...
 
void append (const IndirectListBase< fieldInfo, Addr > &list)
 Append IndirectList contents at the end of this list. More...
 
label appendUniq (const fieldInfo &val)
 Append an element if not already in the list. More...
 
void transfer (List< fieldInfo > &list)
 
void transfer (DynamicList< fieldInfo, SizeMin > &list)
 
void transfer (SortableList< fieldInfo > &list)
 
fieldInfo & newElmt (const label i)
 
void operator= (const UList< fieldInfo > &a)
 Assignment to UList operator. Takes linear time. More...
 
void operator= (const List< fieldInfo > &list)
 Assignment operator. Takes linear time. More...
 
void operator= (const SLList< fieldInfo > &list)
 Assignment to SLList operator. Takes linear time. More...
 
void operator= (const IndirectListBase< fieldInfo, Addr > &list)
 Assignment from IndirectList. Takes linear time. More...
 
void operator= (const FixedList< fieldInfo, N > &list)
 Copy assignment from FixedList. More...
 
void operator= (std::initializer_list< fieldInfo > list)
 Assignment to an initializer list. More...
 
void operator= (const fieldInfo &val)
 Assignment of all entries to the given value. More...
 
void operator= (const Foam::zero)
 Assignment of all entries to zero. More...
 
void operator= (List< fieldInfo > &&list)
 Move assignment. Takes constant time. More...
 
void operator= (DynamicList< fieldInfo, SizeMin > &&list)
 Move assignment. Takes constant time. More...
 
void operator= (SortableList< fieldInfo > &&list)
 Move assignment. Takes constant time. More...
 
void operator= (SLList< fieldInfo > &&list)
 Move assignment. Takes constant time. More...
 
IstreamreadList (Istream &is)
 Read List from Istream, discarding contents of existing List. More...
 
IstreamreadList (Istream &is)
 
IstreamreadList (Istream &is)
 
void shallowCopy (const UList< fieldInfo > &)=delete
 No shallowCopy permitted. More...
 
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type set (const label i, bool val=true)
 A bitSet::set() method for a list of bool. More...
 

Protected Member Functions

template<class Type >
void addRegistered (DynamicList< fieldInfo > &set) const
 Add registered objects of a given type. More...
 

Protected Attributes

const objectRegistryobr_
 Reference to the database. More...
 
const bool includeComponents_
 Flag to indicate whether components are allowed. More...
 
List< fieldInfoselection_
 Current field selection. More...
 

Additional Inherited Members

- Public Types inherited from List< fieldInfo >
typedef SubList< fieldInfo > subList
 Declare type of subList. More...
 
- Static Public Member Functions inherited from List< fieldInfo >
static const List< fieldInfo > & null ()
 Return a null List. More...
 

Detailed Description

Helper class to manage field selections.

The class holds a list of field name filters which are then applied to a set of field objects (in derived classes) from which the resulting set is available via the selection() function. This returns a list of (fieldName, component) objects, e.g. for U.component(0) this is (U, 0).

Source files

Definition at line 63 of file fieldSelection.H.

Constructor & Destructor Documentation

◆ fieldSelection()

fieldSelection ( const objectRegistry obr,
const bool  includeComponents = false 
)

Construct from object registry.

Definition at line 35 of file fieldSelection.C.

◆ ~fieldSelection()

virtual ~fieldSelection ( )
virtualdefault

Destructor.

Member Function Documentation

◆ addRegistered()

void addRegistered ( DynamicList< fieldInfo > &  set) const
protected

Add registered objects of a given type.

Definition at line 34 of file fieldSelectionTemplates.C.

References fieldInfo::component(), fieldInfo::found(), fieldInfo::name(), Foam::name(), Foam::PtrListOps::names(), and Foam::BitOps::set().

Here is the call graph for this function:

◆ filters()

Foam::HashSet< Foam::wordRe > filters ( ) const
inline

Return the cuurent filters.

Definition at line 29 of file fieldSelectionI.H.

References f(), and fieldInfo::name().

Here is the call graph for this function:

◆ selection()

const Foam::List< Foam::functionObjects::fieldInfo > & selection ( ) const
inline

Definition at line 43 of file fieldSelectionI.H.

◆ selectionNames()

Foam::wordHashSet selectionNames ( ) const
inline

Return the current field selection.

Definition at line 50 of file fieldSelectionI.H.

References Foam::PtrListOps::names().

Referenced by solverInfo::writeFileHeader(), fieldExtents::writeFileHeader(), and fieldMinMax::writeFileHeader().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ resetFieldFilters() [1/2]

bool resetFieldFilters ( const HashSet< wordRe > &  names)
virtual

Reset the field filters to the given field names.

Definition at line 48 of file fieldSelection.C.

References Foam::component(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, n, Foam::name(), Foam::PtrListOps::names(), Foam::nl, and Foam::readLabel().

Referenced by fieldSelection::read().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ resetFieldFilters() [2/2]

bool resetFieldFilters ( const wordRe name)
virtual

Reset the field filters to the given field name.

Definition at line 115 of file fieldSelection.C.

References Foam::name().

Here is the call graph for this function:

◆ read()

bool read ( const dictionary dict)
virtual

Read the fieldSelection data from dictionary.

Definition at line 125 of file fieldSelection.C.

References dict, fields, and fieldSelection::resetFieldFilters().

Referenced by limitFields::read().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ containsPattern()

bool containsPattern ( ) const
virtual

Return whether the field names contain a pattern.

Definition at line 133 of file fieldSelection.C.

References wordRe::isPattern(), and fieldInfo::name().

Here is the call graph for this function:

◆ clearSelection()

void clearSelection ( )
virtual

Clear the current selection.

Definition at line 147 of file fieldSelection.C.

◆ updateSelection()

bool updateSelection ( )
virtual

Update the selection.

Reimplemented in fileFieldSelection, volFieldSelection, and solverFieldSelection.

Definition at line 153 of file fieldSelection.C.

◆ checkSelection()

bool checkSelection ( )
virtual

Check that all requested fielda have been found.

Definition at line 159 of file fieldSelection.C.

References Foam::endl(), fieldInfo::found(), fieldInfo::name(), and WarningInFunction.

Referenced by solverFieldSelection::updateSelection(), volFieldSelection::updateSelection(), and fileFieldSelection::updateSelection().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ obr_

const objectRegistry& obr_
protected

Reference to the database.

Definition at line 80 of file fieldSelection.H.

Referenced by solverFieldSelection::updateSelection().

◆ includeComponents_

const bool includeComponents_
protected

Flag to indicate whether components are allowed.

Definition at line 83 of file fieldSelection.H.

◆ selection_

List<fieldInfo> selection_
protected

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