26#include <alien/utils/Precomp.h>
28#include <arccore/collections/Array.h>
55 void operator=(
const ISpace&) =
delete;
57 void operator=(
ISpace&&) =
delete;
81 virtual Arccore::Integer
size()
const = 0;
87 virtual const Arccore::String&
name()
const = 0;
95 Arccore::String label,
const Arccore::UniqueArray<Arccore::Integer>& indices) = 0;
108 virtual Arccore::String
fieldLabel(Arccore::Integer i)
const = 0;
115 virtual const Arccore::UniqueArray<Arccore::Integer>&
field(
116 Arccore::Integer i)
const = 0;
123 virtual const Arccore::UniqueArray<Arccore::Integer>&
field(
124 Arccore::String label)
const = 0;
130 virtual std::shared_ptr<ISpace>
clone()
const = 0;
Interface for algebraic space objects.
virtual std::shared_ptr< ISpace > clone() const =0
Clone this object.
virtual Arccore::Integer nbField() const =0
Get the number of fields.
virtual const Arccore::UniqueArray< Arccore::Integer > & field(Arccore::String label) const =0
Get the indices associated to a label.
virtual bool operator==(const ISpace &space) const =0
Comparison operator.
virtual ~ISpace()
Free resources.
virtual const Arccore::String & name() const =0
Get space name.
virtual Arccore::String fieldLabel(Arccore::Integer i) const =0
Get the label of the i-th field.
virtual bool operator!=(const ISpace &space) const =0
Comparison operator.
virtual Arccore::Integer size() const =0
Get space size.
virtual void setField(Arccore::String label, const Arccore::UniqueArray< Arccore::Integer > &indices)=0
Set label on matrix entries.
virtual const Arccore::UniqueArray< Arccore::Integer > & field(Arccore::Integer i) const =0
Get indices associated to the i-th field \para[in] i The requested field.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --