![]() |
OpenLB 1.8.1
|
Factory for instances of a specific OPERATOR type. More...
#include <blockPostProcessorMap.h>
Public Member Functions | |
template<typename OPERATOR > | |
PostProcessorPromise (meta::id< OPERATOR > id=meta::id< OPERATOR >{}) | |
std::type_index | id () const |
Returns type index of the promised OPERATOR. | |
std::string | name () const |
int | priority () const |
OperatorScope | scope () const |
std::set< FieldTypePromise< T, DESCRIPTOR > > | accessedFields () const |
bool | hasOptimizedVersion () const |
std::optional< std::size_t > | getArithmeticOperationCount () const |
std::optional< bool > | isOptimizable () const |
bool | operator< (const PostProcessorPromise< T, DESCRIPTOR > &rhs) const |
template<Platform PLATFORM> | |
BlockO< T, DESCRIPTOR, PLATFORM > * | realize () |
Protected Attributes | |
const std::type_index | _id |
const int | _priority |
const OperatorScope | _scope |
const std::string | _name |
std::function< AbstractBlockO *(Platform)> | _constructor |
std::function< std::set< FieldTypePromise< T, DESCRIPTOR > >()> | _accessedFields |
Returns the set of all accessed fields. | |
const bool | _isOptimizationAvailable |
std::function< std::optional< std::size_t >()> | _inspectArithmeticOperationCount |
std::function< std::optional< bool >()> | _inspectOptimizability |
Factory for instances of a specific OPERATOR type.
Factory callable for ConcreteBlockO<OPERATOR> is constructed at PostProcessorPromise construction time. Recipients accepting such promised post processors are not obligated to actually realize this promise.
Analogously to DynamicsPromise, this structure is needed to bridge the gap between high level virtual interfaces and efficient platform-specific implementations with full type knowledge.
Definition at line 61 of file blockPostProcessorMap.h.
|
inline |
Definition at line 78 of file blockPostProcessorMap.h.
|
inline |
Definition at line 142 of file blockPostProcessorMap.h.
References olb::PostProcessorPromise< T, DESCRIPTOR >::_accessedFields.
|
inline |
Definition at line 150 of file blockPostProcessorMap.h.
References olb::PostProcessorPromise< T, DESCRIPTOR >::_inspectArithmeticOperationCount.
|
inline |
Definition at line 146 of file blockPostProcessorMap.h.
References olb::PostProcessorPromise< T, DESCRIPTOR >::_isOptimizationAvailable.
|
inline |
Returns type index of the promised OPERATOR.
Definition at line 126 of file blockPostProcessorMap.h.
References olb::PostProcessorPromise< T, DESCRIPTOR >::_id.
|
inline |
Definition at line 154 of file blockPostProcessorMap.h.
References olb::PostProcessorPromise< T, DESCRIPTOR >::_inspectOptimizability.
|
inline |
Definition at line 130 of file blockPostProcessorMap.h.
References olb::PostProcessorPromise< T, DESCRIPTOR >::_name.
|
inline |
Definition at line 158 of file blockPostProcessorMap.h.
References olb::PostProcessorPromise< T, DESCRIPTOR >::id().
|
inline |
Definition at line 134 of file blockPostProcessorMap.h.
References olb::PostProcessorPromise< T, DESCRIPTOR >::_priority.
|
inline |
Definition at line 163 of file blockPostProcessorMap.h.
References olb::PostProcessorPromise< T, DESCRIPTOR >::_constructor.
|
inline |
Definition at line 138 of file blockPostProcessorMap.h.
References olb::PostProcessorPromise< T, DESCRIPTOR >::_scope.
|
protected |
Returns the set of all accessed fields.
Definition at line 70 of file blockPostProcessorMap.h.
|
protected |
Definition at line 68 of file blockPostProcessorMap.h.
|
protected |
Definition at line 63 of file blockPostProcessorMap.h.
|
protected |
Definition at line 73 of file blockPostProcessorMap.h.
|
protected |
Definition at line 74 of file blockPostProcessorMap.h.
|
protected |
Definition at line 72 of file blockPostProcessorMap.h.
|
protected |
Definition at line 66 of file blockPostProcessorMap.h.
|
protected |
Definition at line 64 of file blockPostProcessorMap.h.
|
protected |
Definition at line 65 of file blockPostProcessorMap.h.