AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
|
Provides functions to help define how individual field variables in an input file are expected to behave. It also holds the Sidre Group to the individual field. More...
#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/main/src/axom/inlet/Field.hpp>
Public Types | |
using | Verifier = std::function< bool(const axom::inlet::Field &, std::vector< VerificationError > *errors)> |
Public Member Functions | |
Field (axom::sidre::Group *sidreGroup, axom::sidre::Group *root, axom::sidre::DataTypeId type=axom::sidre::DataTypeId::NO_TYPE_ID, bool docEnabled=true) | |
Constructor for the Field class. More... | |
virtual | ~Field ()=default |
const axom::sidre::Group * | sidreGroup () const |
Returns pointer to the Sidre Group class for this Field. More... | |
Field & | required (bool isRequired=true) override |
Set the required status of this object. More... | |
bool | isRequired () const override |
Return the required status. More... | |
Field & | defaultValue (const std::string &value) override |
Set the default value of this object. More... | |
Field & | defaultValue (const char *value) override |
Set the default value of this object. More... | |
Field & | defaultValue (bool value) override |
Set the default value of this object. More... | |
Field & | defaultValue (int value) override |
Set the default value of this object. More... | |
Field & | defaultValue (double value) override |
Set the default value of this object. More... | |
Field & | range (double startVal, double endVal) override |
Set the range of this object. More... | |
Field & | range (int startVal, int endVal) override |
Set the range of this object. More... | |
Field & | validValues (const std::vector< int > &set) override |
Set the valid values for this object. More... | |
Field & | validValues (const std::vector< double > &set) override |
Set the valid values for this object. More... | |
Field & | validValues (const std::vector< std::string > &set) override |
Set the valid values for this object. More... | |
Field & | validValues (const std::initializer_list< const char * > &set) override |
Set the valid values for this object. More... | |
Field & | validValues (const std::initializer_list< int > &set) override |
Set the valid values for this object. More... | |
Field & | validValues (const std::initializer_list< double > &set) override |
Set the valid values. More... | |
Field & | registerVerifier (Verifier lambda) override |
Registers the function object that will verify this object's contents during the verification stage. More... | |
bool | verify (std::vector< VerificationError > *errors=nullptr) const override |
Verifies the object to make sure it satisfies the imposed requirements. More... | |
std::string | name () const |
template<typename T > | |
T | get () const |
Returns a value of primitive type. More... | |
InletType | type () const |
Returns the type of the stored value. More... | |
bool | exists () const |
Returns whether a value for the Field exists, i.e., if a value was provided in the input file or if a default was provided. More... | |
bool | isUserProvided () const |
Returns whether a value was provided in the input file. More... | |
template<> | |
bool | get () const |
template<> | |
int | get () const |
template<> | |
double | get () const |
VerifiableScalar & | registerVerifier (std::function< bool(const axom::inlet::Field &)> lambda) |
Registers the function object that will verify this object's contents during the verification stage. More... | |
virtual VerifiableScalar & | registerVerifier (Verifier verifier)=0 |
Registers the function object that will verify this object's contents during the verification stage. More... | |
VerifiableScalar & | registerVerifier (std::function< bool(const axom::inlet::Field &)> lambda) |
Registers the function object that will verify this object's contents during the verification stage. More... | |
Provides functions to help define how individual field variables in an input file are expected to behave. It also holds the Sidre Group to the individual field.
|
inherited |
A function which can verify the contents of the item being verified. It should report any errors via the INLET_VERIFICATION_WARNING macro, passing in the given array of errors.
|
inline |
Constructor for the Field class.
This class provides functions to define the behavior of the Field data already read and stored in the given Sidre Group.
[in] | sidreGroup | Pointer to the already created Sidre Group. |
[in] | root | Pointer to the sidreRootGroup containing this Field |
[in] | type | FieldType specifying the data type of this Field instance. Default is FieldType::UNSPECIFIED. |
[in] | docEnabled | Boolean indicating whether or not documentation generation is enabled for Input file this Field instance belongs to. |
|
virtualdefault |
|
inline |
|
overridevirtual |
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 |
Implements axom::inlet::VerifiableScalar.
|
overridevirtual |
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.
Implements axom::inlet::VerifiableScalar.
|
overridevirtual |
Set the default value of this object.
Set the default value for the object in the input file.
[in] | value | The default string value |
Implements axom::inlet::VerifiableScalar.
|
overridevirtual |
Set the default value of this object.
Set the default value for the object in the input file.
[in] | value | The default string value |
Implements axom::inlet::VerifiableScalar.
|
overridevirtual |
Set the default value of this object.
Set the default value for the object in the input file.
[in] | value | The default boolean value |
Implements axom::inlet::VerifiableScalar.
|
overridevirtual |
Set the default value of this object.
Set the default value for the object in the input file.
[in] | value | The default integer value |
Implements axom::inlet::VerifiableScalar.
|
overridevirtual |
Set the default value of this object.
Set the default value for the object in the input file.
[in] | value | The default double value |
Implements axom::inlet::VerifiableScalar.
|
overridevirtual |
Set the range of this object.
Set the continuous range for the object in the input file.
[in] | startVal | The start of the range |
[in] | endVal | The end of the range |
Implements axom::inlet::VerifiableScalar.
|
overridevirtual |
Set the range of this object.
Set the continuous range for the object in the input file.
[in] | startVal | The start of the range |
[in] | endVal | The end of the range |
Implements axom::inlet::VerifiableScalar.
|
overridevirtual |
Set the valid values for this object.
[in] | set | An vector containing the set of allowed integer values |
Implements axom::inlet::VerifiableScalar.
|
overridevirtual |
Set the valid values for this object.
[in] | set | An vector containing the set of allowed double values |
Implements axom::inlet::VerifiableScalar.
|
overridevirtual |
Set the valid values for this object.
[in] | set | A vector containing the set of allowed string values |
Implements axom::inlet::VerifiableScalar.
|
overridevirtual |
Set the valid values for this object.
[in] | set | An initializer list containing the set of allowed C-string values |
Implements axom::inlet::VerifiableScalar.
|
overridevirtual |
Set the valid values for this object.
[in] | set | An initializer list containing the valid integer values |
Implements axom::inlet::VerifiableScalar.
|
overridevirtual |
Set the valid values.
[in] | set | An initializer list containing the valid double values |
Implements axom::inlet::VerifiableScalar.
Registers the function object that will verify this object's contents during the verification stage.
[in] | verifier | The function object. |
Implements axom::inlet::VerifiableScalar.
|
overridevirtual |
Verifies the object to make sure it satisfies the imposed requirements.
[in] | errors | An optional vector of errors to append to in the case of verification failure |
Ownership is not taken of errors, the raw pointer is only used for its optional reference semantics, as opposed to something like std::optional<std::reference_wrapper<T>>
Implements axom::inlet::VerifiableScalar.
std::string axom::inlet::Field::name | ( | ) | const |
T axom::inlet::Field::get | ( | ) | const |
Returns a value of primitive type.
T | The type to retrieve |
InletType axom::inlet::Field::type | ( | ) | const |
bool axom::inlet::Field::exists | ( | ) | const |
Returns whether a value for the Field exists, i.e., if a value was provided in the input file or if a default was provided.
bool axom::inlet::Field::isUserProvided | ( | ) | const |
Returns whether a value was provided in the input file.
bool axom::inlet::Field::get | ( | ) | const |
int axom::inlet::Field::get | ( | ) | const |
double axom::inlet::Field::get | ( | ) | const |
VerifiableScalar& axom::inlet::VerifiableScalar::registerVerifier |
Registers the function object that will verify this object's contents during the verification stage.
[in] | lambda | The function object. |
virtual VerifiableScalar& axom::inlet::VerifiableScalar::registerVerifier |
Registers the function object that will verify this object's contents during the verification stage.
[in] | verifier | The function object. |
|
inherited |
Registers the function object that will verify this object's contents during the verification stage.
[in] | lambda | The function object. |