19#include <alien/ref/data/scalar/Vector.h>
21#include <alien/ref/AlienRefSemantic.h>
22#include <alien/utils/ICopyOnWriteObject.h>
40Vector::Vector(
const VectorDistribution& dist)
41: m_impl(new MultiVectorImpl(dist.space().clone(), dist.clone()))
46Vector::Vector(Integer nrows, Integer nrows_local, IMessagePassingMng* parallel_mng)
47: m_impl(new MultiVectorImpl(std::make_shared<Space>(nrows),
48 std::make_shared<VectorDistribution>(
49 VectorDistribution(nrows, nrows_local, parallel_mng))))
54Vector::Vector(Integer nrows, IMessagePassingMng* parallel_mng)
55: m_impl(new MultiVectorImpl(std::make_shared<Space>(nrows),
56 std::make_shared<VectorDistribution>(VectorDistribution(nrows, parallel_mng))))
61Vector::Vector(Vector&& vector)
62: m_impl(std::move(vector.m_impl))
68Vector::operator=(Vector&& vector)
70 m_impl = std::move(vector.m_impl);
86 return m_impl->space();
92Vector::distribution()
const
94 return m_impl->distribution();
99void Vector::setUserFeature(String feature)
101 m_impl->setFeature(feature);
106bool Vector::hasUserFeature(String feature)
const
108 return m_impl->hasFeature(feature);
Interface for algebraic space objects.
Implementation of an algebraic space.
Computes a vector distribution.
void visit(ICopyOnWriteVector &) const
Visit method.
const ISpace & space() const
Get the space associated to the vector.
MultiVectorImpl * impl()
Get the multivector implementation.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --