NEML2 2.0.0
Loading...
Searching...
No Matches
FactoryMethodBase< T > Class Template Reference

Create an empty tensor of type T from the input file. More...

Detailed Description

template<typename T>
class neml2::FactoryMethodBase< T >

Create an empty tensor of type T from the input file.

Template Parameters
TThe concrete tensor derived from TensorBase

#include <FactoryMethodBase.h>

Inheritance diagram for FactoryMethodBase< T >:

Public Member Functions

 FactoryMethodBase (const OptionSet &options)
 
- Public Member Functions inherited from UserTensorBase< T >
 UserTensorBase (const OptionSet &options)
 
void setup () override
 Setup this object.
 
- Public Member Functions inherited from NEML2Object
 NEML2Object ()=delete
 
 NEML2Object (NEML2Object &&)=delete
 
 NEML2Object (const NEML2Object &)=delete
 
NEML2Objectoperator= (NEML2Object &&)=delete
 
NEML2Objectoperator= (const NEML2Object &)=delete
 
virtual ~NEML2Object ()=default
 
 NEML2Object (const OptionSet &options)
 Construct a new NEML2Object object.
 
const OptionSetinput_options () const
 
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.
 
Factoryfactory () const
 Get the factory that created this object.
 
const Settingssettings () const
 Settings.
 
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.
 
template<typename T >
const T & resolve_tensor (const std::string &name)
 Resolve a TensorName to a Tensor.
 
template<class T >
std::shared_ptr< T > get_object (const std::string &section, const std::string &name)
 
template<class T = Solver>
std::shared_ptr< T > get_solver (const std::string &name)
 Get a solver from the factory.
 
template<class T = Data>
std::shared_ptr< T > get_data (const std::string &name)
 Get a data from the factory.
 
template<class T = Model>
std::shared_ptr< T > get_model (const std::string &name)
 Get a model from the factory.
 
template<class T = Driver>
std::shared_ptr< T > get_driver (const std::string &name)
 Get a driver from the factory.
 
template<class T = WorkScheduler>
std::shared_ptr< T > get_scheduler (const std::string &name)
 Get a scheduler from the factory.
 

Static Public Member Functions

static OptionSet expected_options ()
 
- Static Public Member Functions inherited from UserTensorBase< T >
static OptionSet expected_options ()
 
- Static Public Member Functions inherited from NEML2Object
static OptionSet expected_options ()
 

Protected Attributes

const TensorShape _batch_sizes
 Batch shape.
 
const TensorShape _base_sizes
 Base shape.
 
const unsigned int _intmd_dim
 Intermediate dimension.
 

Additional Inherited Members

- Protected Member Functions inherited from UserTensorBase< T >
virtual T make () const =0
 Create the tensor given input options.
 
- Static Protected Member Functions inherited from UserTensorBase< T >
static std::string tensor_type ()
 A human-readable description of the tensor type.
 

Constructor & Destructor Documentation

◆ FactoryMethodBase()

template<class T >
FactoryMethodBase ( const OptionSet & options)

Member Function Documentation

◆ expected_options()

template<class T >
OptionSet expected_options ( )
static

Member Data Documentation

◆ _base_sizes

template<typename T >
const TensorShape _base_sizes
protected

Base shape.

◆ _batch_sizes

template<typename T >
const TensorShape _batch_sizes
protected

Batch shape.

◆ _intmd_dim

template<typename T >
const unsigned int _intmd_dim
protected

Intermediate dimension.