|
constexpr __host__ __device__ | SpanImpl () noexcept |
| Construit une vue vide.
|
|
template<typename X, SizeType XExtent, SizeType XMinValue, typename = std::enable_if_t<std::is_same_v<const X, T>>> |
constexpr __host__ __device__ | SpanImpl (const SpanImpl< X, SizeType, XExtent, XMinValue > &from) noexcept |
| Constructeur de recopie depuis une autre vue.
|
|
template<SizeType XExtent, SizeType XMinValue> |
constexpr __host__ __device__ | SpanImpl (const SpanImpl< T, SizeType, XExtent, XMinValue > &from) noexcept |
|
constexpr __host__ __device__ | SpanImpl (pointer ptr, SizeType asize) noexcept |
| Construit une vue sur une zone mémoire commencant par ptr et contenant asize éléments.
|
|
template<std::size_t N, typename X, typename = is_same_const_type<X>> |
constexpr __host__ __device__ | SpanImpl (std::array< X, N > &from) |
| Construit une vue depuis un std::array.
|
|
template<std::size_t N, typename X, typename = is_same_const_type<X>> |
constexpr __host__ __device__ ThatClass & | operator= (std::array< X, N > &from) |
| Opérateur de recopie.
|
|
constexpr __host__ __device__ reference | operator[] (SizeType i) const |
| i-ème élément du tableau.
|
|
constexpr __host__ __device__ reference | operator() (SizeType i) const |
| i-ème élément du tableau.
|
|
constexpr __host__ __device__ reference | item (SizeType i) const |
| i-ème élément du tableau.
|
|
constexpr __host__ __device__ void | setItem (SizeType i, const_reference v) noexcept |
| Positionne le i-ème élément du tableau.
|
|
constexpr __host__ __device__ SizeType | size () const noexcept |
| Retourne la taille du tableau.
|
|
constexpr __host__ __device__ SizeType | sizeBytes () const noexcept |
| Retourne la taille du tableau en octets.
|
|
constexpr __host__ __device__ SizeType | length () const noexcept |
| Nombre d'éléments du tableau.
|
|
constexpr __host__ __device__ iterator | begin () const noexcept |
| Itérateur sur le premier élément du tableau.
|
|
constexpr __host__ __device__ iterator | end () const noexcept |
| Itérateur sur le premier élément après la fin du tableau.
|
|
constexpr __host__ __device__ reverse_iterator | rbegin () const noexcept |
| Itérateur inverse sur le premier élément du tableau.
|
|
constexpr __host__ __device__ reverse_iterator | rend () const noexcept |
| Itérateur inverse sur le premier élément après la fin du tableau.
|
|
ArrayRange< pointer > | range () const |
| Intervalle d'itération du premier au dernièr élément.
|
|
constexpr __host__ __device__ pointer | ptrAt (SizeType index) const |
| Addresse du index-ème élément.
|
|
constexpr __host__ __device__ reference | at (SizeType i) const |
|
constexpr __host__ __device__ void | setAt (SizeType i, const_reference value) |
|
__host__ __device__ void | fill (T o) |
| Remplit le tableau avec la valeur o.
|
|
constexpr view_type | smallView () |
| Vue constante sur cette vue.
|
|
constexpr ConstArrayView< value_type > | constSmallView () const |
| Vue constante sur cette vue.
|
|
constexpr __host__ __device__ ThatClass | subSpan (SizeType abegin, SizeType asize) const |
| Sous-vue à partir de l'élément abegin et contenant asize éléments.
|
|
constexpr __host__ __device__ ThatClass | subPart (SizeType abegin, SizeType asize) const |
| Sous-vue à partir de l'élément abegin et contenant asize éléments.
|
|
constexpr ThatClass | subView (SizeType abegin, SizeType asize) const |
| Sous-vue à partir de l'élément abegin et contenant asize éléments.
|
|
constexpr __host__ __device__ ThatClass | subspan (SizeType abegin, SizeType asize) const |
| Pour compatibilité avec le C++20.
|
|
constexpr ThatClass | subViewInterval (SizeType index, SizeType nb_interval) const |
| Sous-vue correspondant à l'interval index sur nb_interval.
|
|
constexpr ThatClass | subSpanInterval (SizeType index, SizeType nb_interval) const |
| Sous-vue correspondant à l'interval index sur nb_interval.
|
|
constexpr ThatClass | subPartInterval (SizeType index, SizeType nb_interval) const |
| Sous-vue correspondant à l'interval index sur nb_interval.
|
|
template<class U> |
__host__ __device__ void | copy (const U ©_array) |
| Recopie le tableau copy_array dans l'instance.
|
|
constexpr __host__ __device__ bool | empty () const noexcept |
| Retourne true si le tableau est vide (dimension nulle)
|
|
__host__ __device__ bool | contains (const_reference v) const |
| true si le tableau contient l'élément de valeur v
|
|
std::optional< SizeType > | findFirst (const_reference v) const |
|
constexpr __host__ __device__ void | setArray (const ArrayView< T > &v) noexcept |
|
constexpr __host__ __device__ void | setArray (const Span< T > &v) noexcept |
|
constexpr __host__ __device__ pointer | data () const noexcept |
| Pointeur sur le début de la vue.
|
|
|
template<typename X, SizeType Extent2, SizeType MinValue2, typename = std::enable_if_t<std::is_same_v<X,value_type>>> |
bool | operator== (const SpanImpl< T, SizeType, Extent, MinValue > &rhs, const SpanImpl< X, SizeType, Extent2, MinValue2 > &lhs) |
| Opérateur d'égalité (valide si T est const mais pas X)
|
|
template<SizeType Extent2, SizeType MinValue2> |
bool | operator== (const SpanImpl< T, SizeType, Extent, MinValue > &rhs, const SpanImpl< T, SizeType, Extent2, MinValue2 > &lhs) |
| Opérateur d'égalité
|
|
template<typename X, SizeType Extent2, SizeType MinValue2, typename = std::enable_if_t<std::is_same_v<X,value_type>>> |
bool | operator!= (const SpanImpl< T, SizeType, Extent, MinValue > &rhs, const SpanImpl< X, SizeType, Extent2, MinValue2 > &lhs) |
| Opérateur d'inégalité (valide si T est const mais pas X)
|
|
template<SizeType Extent2, SizeType MinValue2> |
bool | operator!= (const SpanImpl< T, SizeType, Extent, MinValue > &rhs, const SpanImpl< T, SizeType, Extent2, MinValue2 > &lhs) |
| Opérateur d'inégalité
|
|
std::ostream & | operator<< (std::ostream &o, const ThatClass &val) |
|
template<typename T, typename SizeType, SizeType Extent, SizeType MinValue>
class Arccore::SpanImpl< T, SizeType, Extent, MinValue >
Vue d'un tableau d'éléments de type T.
Cette classe ne doit pas être utilisée directement. Il faut utiliser Span ou SmallSpan à la place.
La vue est non modifiable si l'argument template est de type 'const T'. Cette classe permet d'accéder et d'utiliser un tableau d'éléments du type T de la même manière qu'un tableau C standard. SizeType est le type utilisé pour conserver le nombre d'éléments du tableau. Cela peut être 'Int32' ou 'Int64'.
Si Extent est différent de DynExtent (le défaut), la taille est variable, sinon elle est fixe et a pour valeur Extent. MinValue est la valeur minimale possible (0 par défaut).
Définition à la ligne 91 du fichier Span.h.