Ginkgo: gko::deferred_factory_parameter< FactoryType > Class Template Reference

| Ginkgo Generated from branch based on main. Ginkgo version 1.11.0 A numerical linear algebra library targeting many-core architectures

Loading...
Searching...
No Matches
gko::deferred_factory_parameter< FactoryType > Class Template Reference

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>`

Inheritance diagram for gko::deferred_factory_parameter< FactoryType >:
[legend]

## 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.
std::shared_ptr< FactoryType > | on (std::shared_ptr< const Executor > exec) const
| Instantiates the deferred parameter into an actual factory.
bool | is_empty () const
| Returns true iff the parameter is empty.

## Detailed Description

template<typename FactoryType>
class gko::deferred_factory_parameter< FactoryType >

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.

Template Parameters

  FactoryType | the type of factory that can be instantiated from this object.

## Constructor & Destructor Documentation

## ◆ deferred_factory_parameter()

template<typename FactoryType>
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>

gko::deferred_factory_parameter< FactoryType >::deferred_factory_parameter | ( | ParametersType | parameters | ) |
| 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.

## Member Function Documentation

## ◆ on()

template<typename FactoryType>

std::shared_ptr< FactoryType > gko::deferred_factory_parameter< FactoryType >::on | ( | std::shared_ptr< const Executor > | exec | ) | const
| inline

Instantiates the deferred parameter into an actual factory.

This will throw if the deferred factory parameter is empty.

References is_empty().

The documentation for this class was generated from the following file:

- ginkgo/core/base/abstract_factory.hpp