19#include "VectorData.h"
24#include <alien/utils/ICopyOnWriteObject.h>
32using namespace Arccore;
63: m_impl(std::move(vector.m_impl))
70 m_impl = std::move(vector.m_impl);
83void VectorData::setBlockInfos(
const Integer block_size)
100void VectorData::setBlockInfos(
const Block* block)
109void VectorData::setBlockInfos(
const VBlock* block)
150 return m_impl->distribution();
156VectorData::block()
const
158 return m_impl->block();
164VectorData::vblock()
const
166 return m_impl->vblock();
173 impl()->setFeature(feature);
180 return impl()->hasFeature(feature);
209VectorData::clone()
const
212 out.m_impl.reset(m_impl->clone());
Block elements for block matrices.
Interface for algebraic space objects.
Algebraic Vector with internal multi-representation object.
void free()
Free resources.
void clear()
Clear resources.
const AlgebraTraits< tag >::vector_type & get() const
Get a specific vector implementation.
void setBlockInfos(const Block *blocks)
Set uniform block information.
const ISpace & space() const
Get the space associated with the vector.
Implementation of an algebraic space.
Variable size block elements for block matrices.
Computes a vector distribution.
std::shared_ptr< VectorDistribution > clone() const
Clone the distribution.
void visit(ICopyOnWriteVector &) const
VectorData & operator=(VectorData &&vector)
Move from Vector.
void init(const ISpace &space, const VectorDistribution &dist)
friend VectorData createVectorData(std::shared_ptr< MultiVectorImpl > multi)
MultiVectorImpl * impl()
Get the multivector implementation.
void setUserFeature(String feature)
bool hasUserFeature(String feature) const
const VectorDistribution & distribution() const
const ISpace & space() const