Ginkgo
Generated from pipelines/1556235455 branch based on develop. Ginkgo version 1.9.0
A numerical linear algebra library targeting many-core architectures
|
Represents a factory parameter of factory type that can either initialized by a pre-existing factory or by passing in a factory_parameters object whose .on(exec)
will be called to instantiate a factory.
More...
#include <ginkgo/core/base/abstract_factory.hpp>
Public Member Functions | |
deferred_factory_parameter ()=default | |
Creates an empty deferred factory parameter. | |
deferred_factory_parameter (std::nullptr_t) | |
Creates a deferred factory parameter returning a nullptr. | |
template<typename ConcreteFactoryType , std::enable_if_t< detail::is_pointer_convertible< ConcreteFactoryType, FactoryType >::value > * = nullptr> | |
deferred_factory_parameter (std::shared_ptr< ConcreteFactoryType > factory) | |
Creates a deferred factory parameter from a preexisting factory with shared ownership. | |
template<typename ConcreteFactoryType , typename Deleter , std::enable_if_t< detail::is_pointer_convertible< ConcreteFactoryType, FactoryType >::value > * = nullptr> | |
deferred_factory_parameter (std::unique_ptr< ConcreteFactoryType, Deleter > factory) | |
Creates a deferred factory parameter by taking ownership of a preexisting factory with unique ownership. | |
template<typename ParametersType , typename U = decltype(std::declval<ParametersType>().on( std::shared_ptr<const Executor>{})), std::enable_if_t< detail::is_pointer_convertible< typename U::element_type, FactoryType >::value > * = nullptr> | |
deferred_factory_parameter (ParametersType parameters) | |
Creates a deferred factory parameter object from a factory_parameters-like object. More... | |
std::shared_ptr< FactoryType > | on (std::shared_ptr< const Executor > exec) const |
Instantiates the deferred parameter into an actual factory. More... | |
bool | is_empty () const |
Returns true iff the parameter is empty. | |
Represents a factory parameter of factory type that can either initialized by a pre-existing factory or by passing in a factory_parameters object whose .on(exec)
will be called to instantiate a factory.
FactoryType | the type of factory that can be instantiated from this object. |
|
inline |
Creates a deferred factory parameter object from a factory_parameters-like object.
To instantiate the actual factory, the parameter's .on(exec)
function will be called.
|
inline |
Instantiates the deferred parameter into an actual factory.
This will throw if the deferred factory parameter is empty.