Vectors converter. More...
#include <core/alien/core/backend/IVectorConverter.h>
Public Member Functions | |
| virtual | ~IVectorConverter () |
| Free resources. | |
| virtual BackEndId | sourceBackend () const =0 |
| Get the source backend id. | |
| virtual BackEndId | targetBackend () const =0 |
| Get the target backend id. | |
| virtual void | convert (const IVectorImpl *sourceImpl, IVectorImpl *targetImpl) const =0 |
| Convert a vector from one format to another. | |
| Public Member Functions inherited from Alien::ObjectWithTrace | |
| template<typename T> | |
| void | alien_info (T &&t) const |
| template<typename T> | |
| void | alien_debug (T &&t) const |
| template<typename T> | |
| void | alien_warning (T &&t) const |
| template<typename T> | |
| void | alien_fatal (T &&t) const |
| ITraceMng * | traceMng () const |
Protected Member Functions | |
| template<typename T> | |
| BackEndId | backendId () const |
| Get the target backend id. | |
| Protected Member Functions inherited from Alien::ObjectWithTrace | |
| TraceMessage | cout () const |
Static Protected Member Functions | |
| template<typename T> | |
| static T & | cast (IVectorImpl *impl, BackEndId backend) |
| Cast a vector implementation in its actual type. | |
| template<typename T> | |
| static const T & | cast (const IVectorImpl *impl, BackEndId backend) |
| Const cast a vector implementation in its actual type. | |
Vectors converter.
Interface to convert a vector in another format, provided a converter between those two formats has been registered. If there is no direct converter between the source and target format, a third intermediate format will be used if available.
Definition at line 35 of file IVectorConverter.h.
|
inlinevirtual |
Free resources.
Definition at line 39 of file IVectorConverter.h.
|
inlineprotected |
Get the target backend id.
Definition at line 67 of file IVectorConverter.h.
Referenced by Composite_to_SimpleCSR_VectorConverter::sourceBackend(), and Composite_to_SimpleCSR_VectorConverter::targetBackend().
|
inlinestaticprotected |
Const cast a vector implementation in its actual type.
| [in] | Internal data structure access. | Vector implemenantation |
| [in] | backend | Backend id |
Definition at line 96 of file IVectorConverter.h.
References Alien::IVectorImpl::backend().
|
inlinestaticprotected |
Cast a vector implementation in its actual type.
| [in] | Internal data structure access. | Vector implementation |
| [in] | backend | Backend id |
Definition at line 78 of file IVectorConverter.h.
References Alien::IVectorImpl::backend().
Referenced by Alien::DoKToSimpleCSRVectorConverter::convert(), Alien::RedistributorToSimpleCSRVectorConverter::convert(), Alien::SimpleCSRtoDoKVectorConverter::convert(), Alien::SimpleCSRtoRedistributorVectorConverter::convert(), Composite_to_SimpleCSR_VectorConverter::convert(), HCSRtoSYCLVectorConverter::convert(), SimpleCSRtoSYCLVectorConverter::convert(), and SYCLtoSimpleCSRVectorConverter::convert().
|
pure virtual |
Convert a vector from one format to another.
| [in] | sourceImpl | Implementation of the source vector |
| [in,out] | targetImpl | Implementation of the target vector |
Implemented in Alien::DoKToSimpleCSRVectorConverter, Alien::RedistributorToSimpleCSRVectorConverter, Alien::SimpleCSRtoDoKVectorConverter, Alien::SimpleCSRtoRedistributorVectorConverter, Composite_to_SimpleCSR_VectorConverter, HCSRtoSYCLVectorConverter, SimpleCSRtoSYCLVectorConverter, and SYCLtoSimpleCSRVectorConverter.
|
pure virtual |
Get the source backend id.
Implemented in Alien::DoKToSimpleCSRVectorConverter, Alien::RedistributorToSimpleCSRVectorConverter, Alien::SimpleCSRtoDoKVectorConverter, Alien::SimpleCSRtoRedistributorVectorConverter, Composite_to_SimpleCSR_VectorConverter, HCSRtoSYCLVectorConverter, SimpleCSRtoSYCLVectorConverter, and SYCLtoSimpleCSRVectorConverter.
Referenced by Alien::VectorConverterRegisterer::getConverter().
|
pure virtual |
Get the target backend id.
Implemented in Alien::DoKToSimpleCSRVectorConverter, Alien::RedistributorToSimpleCSRVectorConverter, Alien::SimpleCSRtoDoKVectorConverter, Alien::SimpleCSRtoRedistributorVectorConverter, Composite_to_SimpleCSR_VectorConverter, HCSRtoSYCLVectorConverter, SimpleCSRtoSYCLVectorConverter, and SYCLtoSimpleCSRVectorConverter.
Referenced by Alien::VectorConverterRegisterer::getConverter().