Ginkgo  Generated from pipelines/2969282958 branch based on develop. Ginkgo version 2.0.0
A numerical linear algebra library targeting many-core architectures
Public Member Functions | List of all members
gko::EnableDefaultReusableLinOpFactory< ConcreteFactory, ConcreteLinOp, ParametersType, ReuseDataType, PolymorphicBase > Class Template Reference

EnableDefaultLinOpFactory with LinOpFactory::generate_reuse() support, usually used through GKO_ENABLE_LIN_OP_FACTORY_WITH_REUSE. More...

#include <ginkgo/core/base/lin_op.hpp>

Inheritance diagram for gko::EnableDefaultReusableLinOpFactory< ConcreteFactory, ConcreteLinOp, ParametersType, ReuseDataType, PolymorphicBase >:
[legend]
Collaboration diagram for gko::EnableDefaultReusableLinOpFactory< ConcreteFactory, ConcreteLinOp, ParametersType, ReuseDataType, PolymorphicBase >:
[legend]

Public Member Functions

std::unique_ptr< ConcreteLinOp > generate_reuse (std::shared_ptr< const LinOp > input, LinOpFactory::ReuseData &reuse_data) const
 LinOpFactory::generate_reuse(), returning the concrete LinOp type.
 
std::unique_ptr< LinOpFactory::ReuseData > create_empty_reuse_data () const override
 
void check_reuse_consistent (const LinOp *input, const LinOpFactory::ReuseData &reuse_data) const override
 
- Public Member Functions inherited from gko::EnableDefaultFactory< ConcreteFactory, ProductType, ParametersType, PolymorphicBase >
template<typename... Args>
std::unique_ptr< product_type > generate (Args &&... args) const
 
const parameters_type & get_parameters () const noexcept
 Returns the parameters of the factory. More...
 

Additional Inherited Members

- Public Types inherited from gko::EnableDefaultFactory< ConcreteFactory, ProductType, ParametersType, PolymorphicBase >
using product_type = ProductType
 
using parameters_type = ParametersType
 
using polymorphic_base = PolymorphicBase
 
using abstract_product_type = typename PolymorphicBase::abstract_product_type
 
using components_type = typename PolymorphicBase::components_type
 
- Static Public Member Functions inherited from gko::EnableDefaultFactory< ConcreteFactory, ProductType, ParametersType, PolymorphicBase >
static parameters_type create ()
 Creates a new ParametersType object which can be used to instantiate a new ConcreteFactory. More...
 

Detailed Description

template<typename ConcreteFactory, typename ConcreteLinOp, typename ParametersType, typename ReuseDataType, typename PolymorphicBase = LinOpFactory>
class gko::EnableDefaultReusableLinOpFactory< ConcreteFactory, ConcreteLinOp, ParametersType, ReuseDataType, PolymorphicBase >

EnableDefaultLinOpFactory with LinOpFactory::generate_reuse() support, usually used through GKO_ENABLE_LIN_OP_FACTORY_WITH_REUSE.

ReuseDataType has to be default-constructible and derived from LinOpFactory::ReuseData, and ConcreteLinOp has to provide

ReuseDataType only has to be complete where the factory's member functions are used. The other template parameters are the same as for EnableDefaultLinOpFactory.

Note
This interface is experimental.

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