NEML2 1.4.0
|
The base class of all "manufacturable" objects in the NEML2 library. More...
The base class of all "manufacturable" objects in the NEML2 library.
NEML2 uses the standard registry-factory pattern for automatic object registration and creation. The registry and the factory relies on polymophism to collect and resolve all types at run-time. See Registry
and Factory
for more details.
#include <NEML2Object.h>
Public Member Functions | |
NEML2Object (const OptionSet &options) | |
Construct a new NEML2Object object. | |
virtual | ~NEML2Object ()=default |
const OptionSet & | input_options () const |
virtual void | setup () |
Setup this object. | |
const std::string & | name () const |
A readonly reference to the object's name. | |
const std::string & | type () const |
A readonly reference to the object's type. | |
const std::string & | path () const |
A readonly reference to the object's path. | |
const std::string & | doc () const |
A readonly reference to the object's docstring. | |
template<typename T = NEML2Object> | |
const T * | host () const |
Get a readonly pointer to the host. | |
template<typename T = NEML2Object> | |
T * | host () |
Get a writable pointer to the host. | |
Static Public Member Functions | |
static OptionSet | expected_options () |
NEML2Object | ( | const OptionSet & | options | ) |
Construct a new NEML2Object object.
options | The set of options extracted from the input file |
|
virtualdefault |
|
inline |
A readonly reference to the object's docstring.
|
static |
T * host | ( | ) |
Get a writable pointer to the host.
|
inline |
A readonly reference to the object's name.
|
inline |
A readonly reference to the object's path.
Setup this object.
This method is called automatically if you use the Factory method get_object or get_object_ptr, right after construction. This serves as the entry point for things that are not convenient/possible to do at construction time, but are necessary before this object can be used (by others).
Reimplemented in Model.
|
inline |
A readonly reference to the object's type.