Ginkgo
Generated from pipelines/1554403166 branch based on develop. Ginkgo version 1.9.0
A numerical linear algebra library targeting many-core architectures
|
The EnableBatchLinOp mixin can be used to provide sensible default implementations of the majority of the BatchLinOp and PolymorphicObject interface. More...
#include <ginkgo/core/base/batch_lin_op.hpp>
Additional Inherited Members | |
Public Types inherited from gko::EnablePolymorphicAssignment< ConcreteBatchLinOp > | |
using | result_type = ConcreteBatchLinOp |
Public Types inherited from gko::ConvertibleTo< ConcreteBatchLinOp > | |
using | result_type = ConcreteBatchLinOp |
Public Member Functions inherited from gko::EnableAbstractPolymorphicObject< ConcreteBatchLinOp, PolymorphicBase > | |
std::unique_ptr< ConcreteBatchLinOp > | create_default (std::shared_ptr< const Executor > exec) const |
std::unique_ptr< ConcreteBatchLinOp > | create_default () const |
std::unique_ptr< ConcreteBatchLinOp > | clone (std::shared_ptr< const Executor > exec) const |
std::unique_ptr< ConcreteBatchLinOp > | clone () const |
ConcreteBatchLinOp * | copy_from (const PolymorphicObject *other) |
std::enable_if_t< std::is_base_of< PolymorphicObject, std::decay_t< Derived > >::value, ConcreteBatchLinOp > * | copy_from (std::unique_ptr< Derived > &&other) |
std::enable_if_t< std::is_base_of< PolymorphicObject, std::decay_t< Derived > >::value, ConcreteBatchLinOp > * | copy_from (const std::unique_ptr< Derived > &other) |
ConcreteBatchLinOp * | copy_from (const std::shared_ptr< const PolymorphicObject > &other) |
ConcreteBatchLinOp * | move_from (ptr_param< PolymorphicObject > other) |
ConcreteBatchLinOp * | clear () |
Public Member Functions inherited from gko::EnablePolymorphicAssignment< ConcreteBatchLinOp > | |
void | convert_to (result_type *result) const override |
Converts the implementer to an object of type result_type. More... | |
void | move_to (result_type *result) override |
Converts the implementer to an object of type result_type by moving data from this object. More... | |
Public Member Functions inherited from gko::ConvertibleTo< ConcreteBatchLinOp > | |
void | convert_to (ptr_param< result_type > result) const |
void | move_to (ptr_param< result_type > result) |
The EnableBatchLinOp mixin can be used to provide sensible default implementations of the majority of the BatchLinOp and PolymorphicObject interface.
The goal of the mixin is to facilitate the development of new BatchLinOp, by enabling the implementers to focus on the important parts of their operator, while the library takes care of generating the trivial utility functions. The mixin will provide default implementations for the entire PolymorphicObject interface, including a default implementation of copy_from
between objects of the new BatchLinOp type.
Implementers of new BatchLinOps are required to specify only the following aspects:
ConcreteBatchLinOp | the concrete BatchLinOp which is being implemented [CRTP parameter] |
PolymorphicBase | parent of ConcreteBatchLinOp in the polymorphic hierarchy, has to be a subclass of BatchLinOp |