AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
|
Interface for trivially verifiable objects - namely those that can be marked as required or checked with a user-provided lambda. More...
#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/v0.5.0/src/axom/inlet/Verifiable.hpp>
Public Member Functions | |
virtual | ~Verifiable ()=default |
Verifiable< BaseType > & | operator= (const Verifiable< BaseType > &)=delete |
virtual Verifiable< BaseType > & | required (bool isRequired=true)=0 |
Set the required status of this object. More... | |
virtual bool | isRequired () const =0 |
Return the required status. More... | |
virtual Verifiable< BaseType > & | registerVerifier (std::function< bool(const BaseType &)> lambda)=0 |
Registers the function object that will verify this object's contents during the verification stage. More... | |
virtual bool | verify () const =0 |
Verifies the object to make sure it satisfies the imposed requirements. More... | |
Interface for trivially verifiable objects - namely those that can be marked as required or checked with a user-provided lambda.
BaseType | The "base" type of the object, used for the argument type of a verifying predicate |
In practice this interface is used for the Container and Function classes. Currently the only supported means of verifying a composite type (container) or function type are the methods exposed by this interface.
|
virtualdefault |
|
delete |
|
pure virtual |
Set the required status of this object.
Set whether this object is required, or not, to be in the input file. The default behavior is to not be required.
[in] | isRequired | Boolean value of whether object is required |
Implemented in axom::inlet::Container, axom::inlet::Function, axom::inlet::AggregateVerifiable< BaseType >, axom::inlet::AggregateVerifiable< axom::inlet::Container >, and axom::inlet::AggregateVerifiable< axom::inlet::Function >.
|
pure virtual |
Return the required status.
Return that this object is required, or not, to be in the input file. The default behavior is to not be required.
Implemented in axom::inlet::Container, axom::inlet::Function, axom::inlet::AggregateVerifiable< BaseType >, axom::inlet::AggregateVerifiable< axom::inlet::Container >, and axom::inlet::AggregateVerifiable< axom::inlet::Function >.
Referenced by axom::inlet::AggregateVerifiable< axom::inlet::Function >::required().
|
pure virtual |
Registers the function object that will verify this object's contents during the verification stage.
[in] | The | function object. |
Implemented in axom::inlet::Container, axom::inlet::Function, axom::inlet::AggregateVerifiable< BaseType >, axom::inlet::AggregateVerifiable< axom::inlet::Container >, and axom::inlet::AggregateVerifiable< axom::inlet::Function >.
|
pure virtual |
Verifies the object to make sure it satisfies the imposed requirements.
Implemented in axom::inlet::Container, axom::inlet::Function, axom::inlet::AggregateVerifiable< BaseType >, axom::inlet::AggregateVerifiable< axom::inlet::Container >, and axom::inlet::AggregateVerifiable< axom::inlet::Function >.