Ginkgo  Generated from pipelines/1068515030 branch based on master. Ginkgo version 1.7.0
A numerical linear algebra library targeting many-core architectures
Public Member Functions | List of all members
gko::experimental::EnableDistributedLinOp< ConcreteLinOp, PolymorphicBase > Class Template Reference

This mixin does the same as EnableLinOp, but for concrete types that are derived from distributed::DistributedBase. More...

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

Inheritance diagram for gko::experimental::EnableDistributedLinOp< ConcreteLinOp, PolymorphicBase >:
[legend]
Collaboration diagram for gko::experimental::EnableDistributedLinOp< ConcreteLinOp, PolymorphicBase >:
[legend]

Public Member Functions

const ConcreteLinOp * apply (ptr_param< const LinOp > b, ptr_param< LinOp > x) const
 
ConcreteLinOp * apply (ptr_param< const LinOp > b, ptr_param< LinOp > x)
 
const ConcreteLinOp * apply (ptr_param< const LinOp > alpha, ptr_param< const LinOp > b, ptr_param< const LinOp > beta, ptr_param< LinOp > x) const
 
ConcreteLinOp * apply (ptr_param< const LinOp > alpha, ptr_param< const LinOp > b, ptr_param< const LinOp > beta, ptr_param< LinOp > x)
 
- Public Member Functions inherited from gko::EnableAbstractPolymorphicObject< ConcreteLinOp, PolymorphicBase >
std::unique_ptr< ConcreteLinOp > create_default (std::shared_ptr< const Executor > exec) const
 
std::unique_ptr< ConcreteLinOp > create_default () const
 
std::unique_ptr< ConcreteLinOp > clone (std::shared_ptr< const Executor > exec) const
 
std::unique_ptr< ConcreteLinOp > clone () const
 
ConcreteLinOp * copy_from (const PolymorphicObject *other)
 
std::enable_if_t< std::is_base_of< PolymorphicObject, std::decay_t< Derived > >::value, ConcreteLinOp > * copy_from (std::unique_ptr< Derived > &&other)
 
std::enable_if_t< std::is_base_of< PolymorphicObject, std::decay_t< Derived > >::value, ConcreteLinOp > * copy_from (const std::unique_ptr< Derived > &other)
 
ConcreteLinOp * copy_from (const std::shared_ptr< const PolymorphicObject > &other)
 
ConcreteLinOp * move_from (ptr_param< PolymorphicObject > other)
 
ConcreteLinOp * clear ()
 
- Public Member Functions inherited from gko::EnablePolymorphicAssignment< ConcreteLinOp >
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< ConcreteLinOp >
void convert_to (ptr_param< result_type > result) const
 
void move_to (ptr_param< result_type > result)
 

Additional Inherited Members

- Public Types inherited from gko::EnablePolymorphicAssignment< ConcreteLinOp >
using result_type = ConcreteLinOp
 
- Public Types inherited from gko::ConvertibleTo< ConcreteLinOp >
using result_type = ConcreteLinOp
 

Detailed Description

template<typename ConcreteLinOp, typename PolymorphicBase = LinOp>
class gko::experimental::EnableDistributedLinOp< ConcreteLinOp, PolymorphicBase >

This mixin does the same as EnableLinOp, but for concrete types that are derived from distributed::DistributedBase.

See also
EnableLinOp.
Template Parameters
ConcreteLinOpthe concrete LinOp which is being implemented that is derived from distributed::DistributedBase [CRTP parameter]
PolymorphicBaseparent of ConcreteLinOp in the polymorphic hierarchy, has to be a subclass of LinOp

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