29#include <alien/core/backend/BackEnd.h>
36#include <alien/utils/Precomp.h>
37#include <alien/utils/UserFeatureMng.h>
38#include <alien/utils/time_stamp/TimestampMng.h>
50,
public UserFeatureMng
51,
public ObjectWithTrace
78 std::shared_ptr<ISpace>
space, std::shared_ptr<VectorDistribution> dist);
137 const Block* block()
const;
144 const VBlock* vblock()
const;
161 template <
typename tag>
173 template <
typename tag>
177 template <
typename tag>
178 void release()
const;
186 template <
typename vector_type>
201 template <
typename vector_type>
202 void insert(
const BackEndId& backend,
vector_type* v);
222template <
typename tag>
237template <
typename tag>
255template <
typename tag>
261 delete finder->second, finder->second = NULL;
267template <
typename vector_type>
271 auto inserter =
m_impls2.insert(MultiVectorImplMap::value_type(backend, NULL));
284template <
typename vector_type>
288 alien_fatal([&] { cout() <<
"try to insert already inserted value"; });
VectorConverterRegisterer.h.
Block elements for block matrices.
Interface for algebraic space objects.
Interface to handle abstract vectors implementation.
virtual BackEndId backend() const
std::shared_ptr< ISpace > m_space
The vector space.
std::shared_ptr< VectorDistribution > m_distribution
The vector distribution.
std::shared_ptr< Block > m_block
The uniform block datas.
void free()
Free resources.
void updateImpl(IVectorImpl *target) const
Update a vector implementation.
MultiVectorImplMap m_impls2
The vectors container.
void insert(const BackEndId &backend, vector_type *v)
Insert a vector implementation in the multi vector container.
void clear()
Clear resources.
const AlgebraTraits< tag >::vector_type & get() const
Get a specific vector implementation.
const VectorDistribution & distribution() const
Get the vector distribution.
void setBlockInfos(Arccore::Integer block_size)
Set uniform block information.
std::map< BackEndId, IVectorImpl * > MultiVectorImplMap
The type of the vector container.
void release() const
Release a vector implementation.
void setBlockInfos(const Block *blocks)
Set uniform block information.
std::shared_ptr< VBlock > m_variable_block
The variable block datas.
const ISpace & space() const
Get the space associated with the vector.
IVectorImpl *& getImpl(BackEndId backend) const
Get a specific vector implementation.
void updateTimestamp()
Met à jour le timestamp.
Variable size block elements for block matrices.
Computes a vector distribution.
MultiVectorImpl()
Multi vectors representation container.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --