https://mooseframework.inl.gov
Public Member Functions | List of all members
Moose::FunctorEnvelopeBase Class Referenceabstract

A non-templated base class for functors that allow an owner object to hold different class template instantiations of Functor in a single container. More...

#include <MooseFunctor.h>

Inheritance diagram for Moose::FunctorEnvelopeBase:
[legend]

Public Member Functions

 FunctorEnvelopeBase ()=default
 
virtual ~FunctorEnvelopeBase ()=default
 
virtual bool wrapsNull () const =0
 
virtual std::string returnType () const =0
 
virtual bool isConstant () const =0
 
virtual bool ownsWrappedFunctor () const =0
 

Detailed Description

A non-templated base class for functors that allow an owner object to hold different class template instantiations of Functor in a single container.

Definition at line 1003 of file MooseFunctor.h.

Constructor & Destructor Documentation

◆ FunctorEnvelopeBase()

Moose::FunctorEnvelopeBase::FunctorEnvelopeBase ( )
default

◆ ~FunctorEnvelopeBase()

virtual Moose::FunctorEnvelopeBase::~FunctorEnvelopeBase ( )
virtualdefault

Member Function Documentation

◆ isConstant()

virtual bool Moose::FunctorEnvelopeBase::isConstant ( ) const
pure virtual

◆ ownsWrappedFunctor()

virtual bool Moose::FunctorEnvelopeBase::ownsWrappedFunctor ( ) const
pure virtual
Returns
Whether this envelope owns its wrapped functor. This envelope may briefly own null functors during simulation setup or it may own non-AD or AD wrappers of "true" functors, but we should never own any "true" functors, e.g. we expect memory of "true" functors to be managed by warehouses (e.g. variable, function, etc.), or by the SubProblem itself. With this expectation, we don't have to worry about performing setup calls

Implemented in Moose::FunctorEnvelope< T >, Moose::FunctorEnvelope< ADReal >, Moose::FunctorEnvelope< GenericReal< is_ad > >, Moose::FunctorEnvelope< GenericRealVectorValue< is_ad > >, Moose::FunctorEnvelope< VectorValue< Real > >, Moose::FunctorEnvelope< Moose::GenericType< T, is_ad > >, Moose::FunctorEnvelope< VectorValue< GenericReal< is_ad > > >, Moose::FunctorEnvelope< Moose::GenericType< Real, is_ad > >, Moose::FunctorEnvelope< Real >, and Moose::FunctorEnvelope< libMesh::VectorValue >.

◆ returnType()

virtual std::string Moose::FunctorEnvelopeBase::returnType ( ) const
pure virtual

◆ wrapsNull()

virtual bool Moose::FunctorEnvelopeBase::wrapsNull ( ) const
pure virtual

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