12#ifndef ARCANE_UTILS_FIXEDARRAY_H
13#define ARCANE_UTILS_FIXEDARRAY_H
17#include "arcane/utils/ArrayView.h"
43template <
typename T, Int32 NbElement>
46 static_assert(
NbElement >= 0,
"NbElement has to positive");
51 using size_type = Int32;
52 using difference_type = std::ptrdiff_t;
53 using reference = value_type&;
54 using const_reference =
const value_type&;
55 using pointer = value_type*;
56 using const_pointer =
const value_type*;
58 using iterator =
typename std::array<T, NbElement>::iterator;
59 using const_iterator =
typename std::array<T, NbElement>::const_iterator;
69 : m_value(std::
move(x))
74 m_value = std::move(x);
84 return m_value[index];
87 constexpr ARCCORE_HOST_DEVICE
const T&
operator[](Int32 index)
const
90 return m_value[index];
100 constexpr ARCCORE_HOST_DEVICE
const T* data()
const {
return m_value.data(); }
101 constexpr ARCCORE_HOST_DEVICE T* data() {
return m_value.data(); }
109 constexpr iterator
begin() {
return m_value.begin(); }
111 constexpr iterator
end() {
return m_value.end(); }
113 constexpr const_iterator
begin()
const {
return m_value.begin(); }
115 constexpr const_iterator
end()
const {
return m_value.end(); }
119 std::array<T, NbElement> m_value;
Tableau 1D de taille fixe.
constexpr ARCCORE_HOST_DEVICE SmallSpan< const T, NbElement > span() const
Vue non modifiable sur le tableau.
constexpr ARCCORE_HOST_DEVICE ConstArrayView< T > view() const
Vue non modifiable sur le tableau.
constexpr iterator end()
Itérateur sur la fin du tableau.
constexpr iterator begin()
Itérateur sur le début du tableau.
constexpr ARCCORE_HOST_DEVICE const T & operator[](Int32 index) const
Valeur du i-ème élément.
constexpr ARCCORE_HOST_DEVICE ArrayView< T > view()
Vue modifiable sur le tableau.
constexpr ARCCORE_HOST_DEVICE T & operator[](Int32 index)
Valeur du i-ème élément.
constexpr FixedArray()
Créé un tableau en initialisant les éléments avec le constructeur par défaut de T.
constexpr FixedArray< T, NbElement > & operator=(std::array< T, NbElement > x)
Recopie x dans l'instance.
constexpr ARCCORE_HOST_DEVICE SmallSpan< T, NbElement > span()
Vue modifiable sur le tableau.
static constexpr Int32 size()
Nombre d'éléments tu tableau.
constexpr const_iterator end() const
Itérateur constant la fin du tableau.
constexpr const_iterator begin() const
Itérateur constant sur le début du tableau.
constexpr FixedArray(std::array< T, NbElement > x)
Créé un tableau en initialisant les éléments de x.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-