Alien  1.3.0
User documentation
Loading...
Searching...
No Matches

Interface to handle abstract vectors implementation. More...

#include <core/alien/core/impl/IVectorImpl.h>

Public Types

typedef Arccore::Real ValueType
 Type of the values stored in the vectors.

Public Member Functions

 IVectorImpl (const MultiVectorImpl *multi_impl, BackEndId backend="")
 Constructor.
virtual ~IVectorImpl () override
 Free resources.
 IVectorImpl (const IVectorImpl &src)=delete
 IVectorImpl (IVectorImpl &&src)=delete
IVectorImpl & operator= (const IVectorImpl &src)=delete
IVectorImpl & operator= (IVectorImpl &&src)=delete
virtual void clear ()
 Wipe out internal data.
virtual void init (const VectorDistribution &dist, bool do_alloc)
 Initialize vector datas.
virtual const ISpace & space () const
 Get the vector space.
virtual BackEndId backend () const
virtual const VectorDistribution & distribution () const
 Get the distribution of the vector.
virtual const Block * block () const
 Get block datas of the vector.
virtual const VBlock * vblock () const
 Get block datas of the vector.
virtual Arccore::Integer scalarizedLocalSize () const
 Get the "scalarized" local size.
virtual Arccore::Integer scalarizedGlobalSize () const
 Get the "scalarized" global size.
virtual Arccore::Integer scalarizedOffset () const
 Get the "scalarized" offset.
const MultiVectorImpl * impls () const
Public Member Functions inherited from Alien::Timestamp
 Timestamp (const TimestampMng *manager)
virtual ~Timestamp ()
 Destructeur de la classe.
virtual Int64 timestamp () const
 Donne la valeur courante du timestamp.
void updateTimestamp ()
 Met à jour le timestamp.
void copyTimestamp (const Timestamp &v)
 Copy un autre timestamp.
void setTimestamp (const TimestampMng *manager, const Int64 timestamp)
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 Attributes

const MultiVectorImpl * m_multi_impl
 Pointer on vectors implementations.
BackEndId m_backend
 Backend id.
VBlockSizes * m_vblock_sizes
 Variable blocks size data.

Additional Inherited Members

Protected Member Functions inherited from Alien::ObjectWithTrace
TraceMessage cout () const

Detailed Description

Interface to handle abstract vectors implementation.

Definition at line 45 of file IVectorImpl.h.

Member Typedef Documentation

◆ ValueType

typedef Arccore::Real Alien::IVectorImpl::ValueType

Type of the values stored in the vectors.

Definition at line 50 of file IVectorImpl.h.

Constructor & Destructor Documentation

◆ IVectorImpl()

Alien::IVectorImpl::IVectorImpl ( const MultiVectorImpl * multi_impl,
BackEndId backend = "" )
explicit

◆ ~IVectorImpl()

virtual Alien::IVectorImpl::~IVectorImpl ( )
inlineoverridevirtual

Free resources.

Definition at line 61 of file IVectorImpl.h.

References m_vblock_sizes.

Member Function Documentation

◆ backend()

virtual BackEndId Alien::IVectorImpl::backend ( ) const
inlinevirtual

Get the vector backend id

Returns
The backend if associated to the vector

Definition at line 95 of file IVectorImpl.h.

References m_backend.

Referenced by Alien::IVectorConverter::cast(), Alien::IVectorConverter::cast(), Alien::MultiVectorImpl::get(), Alien::MultiVectorImpl::get(), and IVectorImpl().

◆ block()

const Block * Alien::IVectorImpl::block ( ) const
virtual

Get block datas of the vector.

Get the block datas of the vector. This method should be used only with uniform blocks vectors, otherwise il will return a nullptr

Returns
Block data for block vector, nullptr for scalar and variable block vector

Definition at line 69 of file IVectorImpl.cc.

References m_multi_impl.

Referenced by Alien::DoKToSimpleCSRVectorConverter::convert(), Alien::RedistributorToSimpleCSRVectorConverter::convert(), Alien::SimpleCSRtoDoKVectorConverter::convert(), Alien::SimpleCSRtoRedistributorVectorConverter::convert(), scalarizedGlobalSize(), scalarizedLocalSize(), and scalarizedOffset().

◆ clear()

◆ distribution()

◆ impls()

const MultiVectorImpl * Alien::IVectorImpl::impls ( ) const
inline

Definition at line 144 of file IVectorImpl.h.

◆ init()

◆ scalarizedGlobalSize()

◆ scalarizedLocalSize()

◆ scalarizedOffset()

◆ space()

const ISpace & Alien::IVectorImpl::space ( ) const
virtual

Get the vector space.

Returns
The space associated to the vector

Definition at line 51 of file IVectorImpl.cc.

References m_multi_impl.

Referenced by Alien::CompositeKernel::Vector::Vector().

◆ vblock()

const VBlock * Alien::IVectorImpl::vblock ( ) const
virtual

Get block datas of the vector.

Get the block datas of the vector. This method should be used only with variable blocks vectors, otherwise il will return a nullptr

Returns
Block data for variable block vector, nullptr for scalar and block vector

Definition at line 78 of file IVectorImpl.cc.

References m_multi_impl.

Referenced by Alien::SimpleCSRVector< Arccore::Real >::init(), scalarizedGlobalSize(), scalarizedLocalSize(), and scalarizedOffset().

Member Data Documentation

◆ m_backend

BackEndId Alien::IVectorImpl::m_backend
protected

Backend id.

Definition at line 151 of file IVectorImpl.h.

Referenced by backend(), and IVectorImpl().

◆ m_multi_impl

◆ m_vblock_sizes

VBlockSizes* Alien::IVectorImpl::m_vblock_sizes
mutableprotected

Variable blocks size data.

Definition at line 153 of file IVectorImpl.h.

Referenced by IVectorImpl(), scalarizedGlobalSize(), scalarizedLocalSize(), scalarizedOffset(), and ~IVectorImpl().


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