Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
Alien::CompositeVector Class Reference

Composite vector for heterogenous vector. More...

#include <core/alien/data/CompositeVector.h>

Inheritance diagram for Alien::CompositeVector:
Collaboration diagram for Alien::CompositeVector:

Public Types

using Element = CompositeKernel::VectorElement
 Type of submatrix element.

Public Member Functions

 CompositeVector ()
 Constructor.
 CompositeVector (Arccore::Integer nc)
 Constructor.
virtual ~CompositeVector ()
 Free resources.
void visit (ICopyOnWriteVector &) const
 Visit method.
const ISpacespace () const
 Get the space of the global vector.
void resize (Arccore::Integer nc)
 Resize the number of submatrices.
Arccore::Integer size () const
 Get the number of subvectors.
Element composite (Arccore::Integer i)
 Get the i-th element.
IVectoroperator[] (Arccore::Integer i)
 Get the i-th subvector.
const IVectoroperator[] (Arccore::Integer i) const
 Get the i-th subvector.
void setUserFeature (Arccore::String feature)
 Add a feature to the composite vector.
bool hasUserFeature (Arccore::String feature) const
 Check if the composite vector has a feature.
MultiVectorImplimpl ()
 Get the multivector implementation.
const MultiVectorImplimpl () const
 Get the multivector implementation.
void free ()
 Free resources.
void clear ()
 Clear resources.

Private Attributes

std::shared_ptr< MultiVectorImplm_impl
 The multivector implementation.
CompositeKernel::Vectorm_composite_vector
 The composite vector.

Additional Inherited Members

Protected Member Functions inherited from Alien::IVector
 IVector ()
 Constructor.
Private 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
TraceMessage cout () const

Detailed Description

Composite vector for heterogenous vector.

This class allow to handle vectors made of several vectors

Definition at line 62 of file data/CompositeVector.h.

Member Typedef Documentation

◆ Element

Type of submatrix element.

Definition at line 67 of file data/CompositeVector.h.

Constructor & Destructor Documentation

◆ CompositeVector() [1/2]

Alien::CompositeVector::CompositeVector ( )

Constructor.

Definition at line 53 of file data/CompositeVector.cc.

References CompositeVector().

Referenced by CompositeVector().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CompositeVector() [2/2]

Alien::CompositeVector::CompositeVector ( Arccore::Integer nc)

Constructor.

Parameters
[in]ncThe number of subvectors

◆ ~CompositeVector()

virtual Alien::CompositeVector::~CompositeVector ( )
inlinevirtual

Free resources.

Definition at line 80 of file data/CompositeVector.h.

Member Function Documentation

◆ clear()

void Alien::CompositeVector::clear ( )

Clear resources.

Definition at line 189 of file data/CompositeVector.cc.

References impl(), m_composite_vector, and size().

Referenced by operator[]().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ composite()

CompositeVector::Element Alien::CompositeVector::composite ( Arccore::Integer i)

Get the i-th element.

Parameters
[in]iThe index of the element
Returns
The i-th element

Definition at line 111 of file data/CompositeVector.cc.

References m_composite_vector.

◆ free()

void Alien::CompositeVector::free ( )

Free resources.

Definition at line 179 of file data/CompositeVector.cc.

References impl(), m_composite_vector, and size().

Referenced by operator[]().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hasUserFeature()

bool Alien::CompositeVector::hasUserFeature ( Arccore::String feature) const

Check if the composite vector has a feature.

Returns
Wheteher or not the composite matrix has the feature

Definition at line 145 of file data/CompositeVector.cc.

References m_impl.

Referenced by operator[]().

Here is the caller graph for this function:

◆ impl() [1/2]

MultiVectorImpl * Alien::CompositeVector::impl ( )
virtual

Get the multivector implementation.

Returns
The multivector implementation

Implements Alien::IVector.

Definition at line 154 of file data/CompositeVector.cc.

References m_impl.

Referenced by clear(), free(), Alien::NormalizeOpt::normalize(), and operator[]().

Here is the caller graph for this function:

◆ impl() [2/2]

const MultiVectorImpl * Alien::CompositeVector::impl ( ) const
virtual

Get the multivector implementation.

Returns
The multivector implementation

Implements Alien::IVector.

Definition at line 171 of file data/CompositeVector.cc.

References m_impl.

◆ operator[]() [1/2]

IVector & Alien::CompositeVector::operator[] ( Arccore::Integer i)

Get the i-th subvector.

Parameters
[in]iThe index of the subvector
Returns
The i-th subvector

References Alien::IVector::IVector().

Here is the call graph for this function:

◆ operator[]() [2/2]

const IVector & Alien::CompositeVector::operator[] ( Arccore::Integer i) const

Get the i-th subvector.

Parameters
[in]iThe index of the subvector
Returns
The i-th subvector

References clear(), free(), hasUserFeature(), impl(), Alien::IVector::IVector(), and setUserFeature().

Here is the call graph for this function:

◆ resize()

void Alien::CompositeVector::resize ( Arccore::Integer nc)

Resize the number of submatrices.

Parameters
[in]ncThe number of submatrices

Definition at line 81 of file data/CompositeVector.cc.

References m_composite_vector, and size().

Here is the call graph for this function:

◆ setUserFeature()

void Alien::CompositeVector::setUserFeature ( Arccore::String feature)

Add a feature to the composite vector.

Parameters
[in]featureThe feature to add

Definition at line 137 of file data/CompositeVector.cc.

References m_impl.

Referenced by operator[]().

Here is the caller graph for this function:

◆ size()

Integer Alien::CompositeVector::size ( ) const

Get the number of subvectors.

Returns
The number of subvectors

Definition at line 93 of file data/CompositeVector.cc.

References m_composite_vector.

Referenced by clear(), free(), and resize().

Here is the caller graph for this function:

◆ space()

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

Get the space of the global vector.

Returns
The space

Implements Alien::IVector.

Definition at line 102 of file data/CompositeVector.cc.

References m_impl.

◆ visit()

void Alien::CompositeVector::visit ( ICopyOnWriteVector & v) const
virtual

Visit method.

Parameters
[in]visitVisit vector method

Implements Alien::IVector.

Definition at line 73 of file data/CompositeVector.cc.

References m_impl.

Member Data Documentation

◆ m_composite_vector

CompositeKernel::Vector& Alien::CompositeVector::m_composite_vector
private

The composite vector.

Definition at line 162 of file data/CompositeVector.h.

Referenced by clear(), composite(), free(), resize(), and size().

◆ m_impl

std::shared_ptr<MultiVectorImpl> Alien::CompositeVector::m_impl
private

The multivector implementation.

Definition at line 160 of file data/CompositeVector.h.

Referenced by hasUserFeature(), impl(), impl(), setUserFeature(), space(), and visit().


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