26#include <arccore/base/String.h>
63 void create(
const Arccore::UniqueArray<Arccore::String>& tags);
76 Arccore::String
tag(Arccore::Integer i)
const {
return m_tags[i]; }
83 const Arccore::UniqueArray<Arccore::Integer>&
taggedPart(Arccore::Integer i)
const
100 return m_untagged_part;
109 Arccore::UniqueArray<Arccore::String>
m_tags;
113 Arccore::UniqueArray<Arccore::Integer> m_untagged_part;
Interface for algebraic space objects.
Computes a matrix distribution.
const ISpace & m_space
The matrix space.
~Partition()=default
Free resources.
const MatrixDistribution & m_distribution
The matrix distribution.
const Arccore::UniqueArray< Arccore::Integer > & untaggedPart() const
Get untagged indices.
void create(const Arccore::UniqueArray< Arccore::String > &tags)
Create the tags of the matrix.
Arccore::Integer nbTaggedParts() const
Get the number of untagged parts of the matrix.
Partition(const ISpace &space, const MatrixDistribution &distribution)
Constructor.
Arccore::UniqueArray< Arccore::String > m_tags
The array of tags.
Arccore::String tag(Arccore::Integer i) const
Get the i-th tag.
Arccore::UniqueArray< Arccore::UniqueArray< Arccore::Integer > > m_tagged_parts
The arrays of local ids for each tag.
const Arccore::UniqueArray< Arccore::Integer > & taggedPart(Arccore::Integer i) const
Get indices of a specific matching tag.
bool hasUntaggedPart() const
Whether or not the matrix has untagged part.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --