![]() |
Ginkgo Generated from branch based on master. Ginkgo version 1.7.0
A numerical linear algebra library targeting many-core architectures
|
This mixin is used to enable a default PolymorphicObject::copy_from() implementation for objects that have implemented conversions between them. More...
#include <ginkgo/core/base/polymorphic_object.hpp>
Inherits gko::ConvertibleTo< ResultType >.
Inherited by gko::EnableLinOp< Combination< default_precision > >, gko::EnableLinOp< Composition< default_precision > >, gko::EnableLinOp< Perturbation< default_precision > >, gko::EnableLinOp< Schwarz< default_precision, int32, int64 > >, gko::EnableLinOp< Factorization< ValueType, IndexType > >, gko::EnableLinOp< ScaledReordered< default_precision, int32 > >, gko::EnableLinOp< Direct< ValueType, IndexType > >, gko::EnableLinOp< Composition< gko::default_precision > >, gko::EnableLinOp< Coo< default_precision, int32 > >, gko::EnableLinOp< Csr< default_precision, int32 > >, gko::EnableLinOp< Dense< default_precision > >, gko::EnableLinOp< Diagonal< default_precision > >, gko::EnableLinOp< Ell< default_precision, int32 > >, gko::EnableLinOp< Fbcsr< default_precision, int32 > >, gko::EnableLinOp< Fft >, gko::EnableLinOp< Fft2 >, gko::EnableLinOp< Fft3 >, gko::EnableLinOp< Hybrid< default_precision, int32 > >, gko::EnableLinOp< Identity< default_precision > >, gko::EnableLinOp< Permutation< int32 > >, gko::EnableLinOp< RowGatherer< int32 > >, gko::EnableLinOp< ScaledPermutation< default_precision, int32 > >, gko::EnableLinOp< Sellp< default_precision, int32 > >, gko::EnableLinOp< SparsityCsr< default_precision, int32 > >, gko::EnableLinOp< FixedCoarsening< default_precision, int32 > >, gko::EnableLinOp< Pgm< default_precision, int32 > >, gko::EnableLinOp< Ic< solver::LowerTrs<>, int32 > >, gko::EnableLinOp< Ilu< solver::LowerTrs<>, solver::UpperTrs<>, false, int32 > >, gko::EnableLinOp< Isai< IsaiType, ValueType, IndexType > >, gko::EnableLinOp< Jacobi< default_precision, int32 > >, gko::EnableLinOp< Bicg< default_precision > >, gko::EnableLinOp< Bicgstab< default_precision > >, gko::EnableLinOp< CbGmres< default_precision > >, gko::EnableLinOp< Cg< default_precision > >, gko::EnableLinOp< Cgs< default_precision > >, gko::EnableLinOp< Fcg< default_precision > >, gko::EnableLinOp< Gcr< default_precision > >, gko::EnableLinOp< Gmres< default_precision > >, gko::EnableLinOp< Idr< default_precision > >, gko::EnableLinOp< Ir< default_precision > >, gko::EnableLinOp< LowerTrs< default_precision, int32 > >, gko::EnableLinOp< Multigrid >, gko::EnableLinOp< UpperTrs< default_precision, int32 > >, gko::EnableLinOp< Dense< value_type > >, gko::batch::EnableBatchLinOp< Dense< default_precision > >, gko::batch::EnableBatchLinOp< Ell< default_precision, int32 > >, gko::batch::EnableBatchLinOp< Identity< default_precision > >, gko::batch::EnableBatchLinOp< Bicgstab< default_precision >, BatchLinOp >, gko::batch::EnableBatchLinOp< ConcreteSolver, BatchLinOp >, gko::experimental::EnableDistributedLinOp< Matrix< default_precision, int32, int64 > >, gko::experimental::EnableDistributedLinOp< Vector< double > >, gko::batch::MultiVector< ValueType >, gko::experimental::distributed::Partition< LocalIndexType, GlobalIndexType >, gko::experimental::reorder::Amd< IndexType >, gko::experimental::reorder::Mc64< ValueType, IndexType >, gko::experimental::reorder::Rcm< IndexType >, and gko::reorder::Rcm< ValueType, IndexType >.
Public Types | |
using | result_type = ResultType |
![]() | |
using | result_type = ResultType |
Public Member Functions | |
void | convert_to (result_type *result) const override |
Converts the implementer to an object of type result_type. | |
void | move_to (result_type *result) override |
Converts the implementer to an object of type result_type by moving data from this object. | |
![]() | |
void | convert_to (ptr_param< result_type > result) const |
void | move_to (ptr_param< result_type > result) |
This mixin is used to enable a default PolymorphicObject::copy_from() implementation for objects that have implemented conversions between them.
The requirement is that there is either a conversion constructor from ConcreteType
in ResultType
, or a conversion operator to ResultType
in ConcreteType
.
ConcreteType | the concrete type from which the copy_from is being enabled [CRTP parameter] |
ResultType | the type to which copy_from is being enabled |
|
inlineoverridevirtual |
Converts the implementer to an object of type result_type.
result | the object used to store the result of the conversion |
Implements gko::ConvertibleTo< ResultType >.
References gko::one().
|
inlineoverridevirtual |
Converts the implementer to an object of type result_type by moving data from this object.
This method is used when the implementer is a temporary object, and move semantics can be used.
result | the object used to emplace the result of the conversion |
Implements gko::ConvertibleTo< ResultType >.
References gko::one().