Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arccore::Span< T, Extent, MinValue >

Vue d'un tableau d'éléments de type T. Plus de détails...

#include </__w/arcaneframework.github.io/arcaneframework.github.io/framework/arccore/src/base/arccore/base/Span.h>

+ Graphe d'héritage de Arccore::Span< T, Extent, MinValue >:
+ Graphe de collaboration de Arccore::Span< T, Extent, MinValue >:

Types publics

using ThatClass = Span< T, Extent, MinValue >
 
using BaseClass = SpanImpl< T, Int64, Extent, MinValue >
 
using size_type = Int64
 
using value_type = typename BaseClass::value_type
 
using pointer = typename BaseClass::pointer
 
template<typename X >
using is_same_const_type = std::enable_if_t< std::is_same_v< X, T >||std::is_same_v< std::add_const_t< X >, T > >
 
- Types publics hérités de Arccore::SpanImpl< T, Int64, Extent, MinValue >
using ThatClass = SpanImpl< T, Int64, Extent, MinValue >
 
using size_type = Int64
 
using ElementType = T
 
using element_type = ElementType
 
using value_type = typename std::remove_cv_t< ElementType >
 
using const_value_type = typename std::add_const_t< value_type >
 
using index_type = Int64
 
using difference_type = Int64
 
using pointer = ElementType *
 
using const_pointer = const ElementType *
 
using reference = ElementType &
 
using const_reference = const ElementType &
 
using iterator = ArrayIterator< pointer >
 
using const_iterator = ArrayIterator< const_pointer >
 
using view_type = typename detail::ViewTypeT< ElementType >::view_type
 
using reverse_iterator = std::reverse_iterator< iterator >
 
using const_reverse_iterator = std::reverse_iterator< const_iterator >
 
using is_same_const_type = std::enable_if_t< std::is_same_v< X, T >||std::is_same_v< std::add_const_t< X >, T > >
 Indique si on peut convertir un 'X' ou 'const X' en un 'T'.
 

Fonctions membres publiques

 Span ()=default
 Construit une vue vide.
 
constexpr ARCCORE_HOST_DEVICE Span (const ArrayView< value_type > &from) noexcept
 Constructeur de recopie depuis une autre vue.
 
template<typename X , typename = std::enable_if_t<std::is_same_v<X,value_type>>>
constexpr ARCCORE_HOST_DEVICE Span (const ConstArrayView< X > &from) noexcept
 
template<typename X , Int64 XExtent, Int64 XMinValue, typename = std::enable_if_t<std::is_same_v<const X, T>>>
constexpr ARCCORE_HOST_DEVICE Span (const Span< X, XExtent, XMinValue > &from) noexcept
 
template<typename X , Int32 XExtent, Int32 XMinValue, typename = std::enable_if_t<std::is_same_v<const X, T>>>
constexpr ARCCORE_HOST_DEVICE Span (const SmallSpan< X, XExtent, XMinValue > &from) noexcept
 
template<Int64 XExtent, Int64 XMinValue>
constexpr ARCCORE_HOST_DEVICE Span (const SpanImpl< T, Int64, XExtent, XMinValue > &from) noexcept
 
template<Int32 XExtent, Int32 XMinValue>
constexpr ARCCORE_HOST_DEVICE Span (const SpanImpl< T, Int32, XExtent, XMinValue > &from) noexcept
 
constexpr ARCCORE_HOST_DEVICE Span (pointer ptr, Int64 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 ARCCORE_HOST_DEVICE Span (std::array< X, N > &from) noexcept
 Construit une vue à partir d'un std::array.
 
template<std::size_t N, typename X , typename = is_same_const_type<X>>
constexpr ARCCORE_HOST_DEVICE ThatClassoperator= (std::array< X, N > &from) noexcept
 Opérateur de recopie.
 
constexpr ARCCORE_HOST_DEVICE Span< T, DynExtentsubspan (Int64 abegin, Int64 asize) const
 Sous-vue à partir de l'élément abegin et contenant asize éléments.
 
constexpr ARCCORE_HOST_DEVICE Span< T, DynExtentsubSpan (Int64 abegin, Int64 asize) const
 Sous-vue à partir de l'élément abegin et contenant asize éléments.
 
constexpr ARCCORE_HOST_DEVICE Span< T, DynExtentsubPart (Int64 abegin, Int64 asize) const
 Sous-vue à partir de l'élément abegin et contenant asize éléments.
 
constexpr ARCCORE_HOST_DEVICE Span< T, DynExtentsubSpanInterval (Int64 index, Int64 nb_interval) const
 Sous-vue correspondant à l'interval index sur nb_interval.
 
constexpr ARCCORE_HOST_DEVICE Span< T, DynExtentsubPartInterval (Int64 index, Int64 nb_interval) const
 Sous-vue correspondant à l'interval index sur nb_interval.
 
constexpr ARCCORE_HOST_DEVICE Span< T > subView (Int64 abegin, Int64 asize) const
 Sous-vue à partir de l'élément abegin et contenant asize éléments.
 
constexpr ARCCORE_HOST_DEVICE Span< T > subViewInterval (Int64 index, Int64 nb_interval) const
 Sous-vue correspondant à l'interval index sur nb_interval.
 
- Fonctions membres publiques hérités de Arccore::SpanImpl< T, Int64, Extent, MinValue >
constexpr ARCCORE_HOST_DEVICE SpanImpl () noexcept
 Construit une vue vide.
 
constexpr ARCCORE_HOST_DEVICE SpanImpl (const SpanImpl< X, Int64, XExtent, XMinValue > &from) noexcept
 Constructeur de recopie depuis une autre vue.
 
constexpr ARCCORE_HOST_DEVICE SpanImpl (const SpanImpl< T, Int64, XExtent, XMinValue > &from) noexcept
 
constexpr ARCCORE_HOST_DEVICE SpanImpl (pointer ptr, Int64 asize) noexcept
 Construit une vue sur une zone mémoire commencant par ptr et contenant asize éléments.
 
constexpr ARCCORE_HOST_DEVICE SpanImpl (std::array< X, N > &from)
 Construit une vue depuis un std::array.
 
constexpr ARCCORE_HOST_DEVICE ThatClassoperator= (std::array< X, N > &from)
 Opérateur de recopie.
 
constexpr ARCCORE_HOST_DEVICE reference operator[] (Int64 i) const
 i-ème élément du tableau.
 
constexpr ARCCORE_HOST_DEVICE reference operator() (Int64 i) const
 i-ème élément du tableau.
 
constexpr ARCCORE_HOST_DEVICE reference item (Int64 i) const
 i-ème élément du tableau.
 
constexpr ARCCORE_HOST_DEVICE void setItem (Int64 i, const_reference v) noexcept
 Positionne le i-ème élément du tableau.
 
constexpr ARCCORE_HOST_DEVICE Int64 size () const noexcept
 Retourne la taille du tableau.
 
constexpr ARCCORE_HOST_DEVICE Int64 sizeBytes () const noexcept
 Retourne la taille du tableau en octets.
 
constexpr ARCCORE_HOST_DEVICE Int64 length () const noexcept
 Nombre d'éléments du tableau.
 
constexpr ARCCORE_HOST_DEVICE iterator begin () const noexcept
 Itérateur sur le premier élément du tableau.
 
constexpr ARCCORE_HOST_DEVICE iterator end () const noexcept
 Itérateur sur le premier élément après la fin du tableau.
 
constexpr ARCCORE_HOST_DEVICE reverse_iterator rbegin () const noexcept
 Itérateur inverse sur le premier élément du tableau.
 
constexpr ARCCORE_HOST_DEVICE reverse_iterator rend () const noexcept
 Itérateur inverse sur le premier élément après la fin du tableau.
 
 ARCCORE_DEPRECATED_REASON ("Y2023: Use begin()/end() instead") ArrayRange< pointer > range() const
 Intervalle d'itération du premier au dernièr élément.
 
constexpr ARCCORE_HOST_DEVICE pointer ptrAt (Int64 index) const
 Addresse du index-ème élément.
 
constexpr ARCCORE_HOST_DEVICE reference at (Int64 i) const
 
constexpr ARCCORE_HOST_DEVICE void setAt (Int64 i, const_reference value)
 
ARCCORE_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 ARCCORE_HOST_DEVICE ThatClass subSpan (Int64 abegin, Int64 asize) const
 Sous-vue à partir de l'élément abegin et contenant asize éléments.
 
constexpr ARCCORE_HOST_DEVICE ThatClass subPart (Int64 abegin, Int64 asize) const
 Sous-vue à partir de l'élément abegin et contenant asize éléments.
 
constexpr ThatClass subView (Int64 abegin, Int64 asize) const
 Sous-vue à partir de l'élément abegin et contenant asize éléments.
 
constexpr ARCCORE_HOST_DEVICE ThatClass subspan (Int64 abegin, Int64 asize) const
 Pour compatibilité avec le C++20.
 
constexpr ThatClass subViewInterval (Int64 index, Int64 nb_interval) const
 Sous-vue correspondant à l'interval index sur nb_interval.
 
constexpr ThatClass subSpanInterval (Int64 index, Int64 nb_interval) const
 Sous-vue correspondant à l'interval index sur nb_interval.
 
constexpr ThatClass subPartInterval (Int64 index, Int64 nb_interval) const
 Sous-vue correspondant à l'interval index sur nb_interval.
 
ARCCORE_HOST_DEVICE void copy (const U &copy_array)
 Recopie le tableau copy_array dans l'instance.
 
constexpr ARCCORE_HOST_DEVICE bool empty () const noexcept
 Retourne true si le tableau est vide (dimension nulle)
 
ARCCORE_HOST_DEVICE bool contains (const_reference v) const
 true si le tableau contient l'élément de valeur v
 
std::optional< Int64findFirst (const_reference v) const
 
constexpr ARCCORE_HOST_DEVICE void setArray (const ArrayView< T > &v) noexcept
 
constexpr ARCCORE_HOST_DEVICE void setArray (const Span< T > &v) noexcept
 
constexpr ARCCORE_HOST_DEVICE pointer data () const noexcept
 Pointeur sur le début de la vue.
 

Fonctions membres publiques statiques

static constexpr ThatClass create (pointer ptr, size_type asize) noexcept
 Construit une vue sur une zone mémoire commencant par ptr et.
 
- Fonctions membres publiques statiques hérités de Arccore::SpanImpl< T, Int64, Extent, MinValue >
static constexpr ThatClass create (pointer ptr, Int64 asize) noexcept
 Construit une vue sur une zone mémoire commencant par ptr et.
 

Membres hérités additionnels

- Fonctions membres protégées hérités de Arccore::SpanImpl< T, Int64, Extent, MinValue >
constexpr void _setArray (pointer v, Int64 s) noexcept
 Modifie le pointeur et la taille du tableau.
 
constexpr void _setPtr (pointer v) noexcept
 Modifie le pointeur du début du tableau.
 
constexpr void _setSize (Int64 s) noexcept
 Modifie la taille du tableau.
 

Description détaillée

template<typename T, Int64 Extent, Int64 MinValue>
class Arccore::Span< T, Extent, MinValue >

Vue d'un tableau d'éléments de type T.

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. Elle est similaire à ArrayView à ceci près que le nombre d'éléments est stocké sur un 'Int64' et peut donc dépasser 2Go. Elle est concue pour être similaire à la classe std::span du C++20.

Définition à la ligne 508 du fichier Span.h.

Documentation des définitions de type membres

◆ BaseClass

template<typename T , Int64 Extent, Int64 MinValue>
using Arccore::Span< T, Extent, MinValue >::BaseClass = SpanImpl<T, Int64, Extent, MinValue>

Définition à la ligne 514 du fichier Span.h.

◆ is_same_const_type

template<typename T , Int64 Extent, Int64 MinValue>
template<typename X >
using Arccore::Span< T, Extent, MinValue >::is_same_const_type = std::enable_if_t<std::is_same_v<X, T> || std::is_same_v<std::add_const_t<X>, T> >

Définition à la ligne 519 du fichier Span.h.

◆ pointer

template<typename T , Int64 Extent, Int64 MinValue>
using Arccore::Span< T, Extent, MinValue >::pointer = typename BaseClass::pointer

Définition à la ligne 517 du fichier Span.h.

◆ size_type

template<typename T , Int64 Extent, Int64 MinValue>
using Arccore::Span< T, Extent, MinValue >::size_type = Int64

Définition à la ligne 515 du fichier Span.h.

◆ ThatClass

template<typename T , Int64 Extent, Int64 MinValue>
using Arccore::Span< T, Extent, MinValue >::ThatClass = Span<T, Extent, MinValue>

Définition à la ligne 513 du fichier Span.h.

◆ value_type

template<typename T , Int64 Extent, Int64 MinValue>
using Arccore::Span< T, Extent, MinValue >::value_type = typename BaseClass::value_type

Définition à la ligne 516 du fichier Span.h.

Documentation des constructeurs et destructeur

◆ Span() [1/8]

template<typename T , Int64 Extent, Int64 MinValue>
constexpr ARCCORE_HOST_DEVICE Arccore::Span< T, Extent, MinValue >::Span ( const ArrayView< value_type > &  from)
inlineconstexprnoexcept

Constructeur de recopie depuis une autre vue.

Définition à la ligne 526 du fichier Span.h.

◆ Span() [2/8]

template<typename T , Int64 Extent, Int64 MinValue>
template<typename X , typename = std::enable_if_t<std::is_same_v<X,value_type>>>
constexpr ARCCORE_HOST_DEVICE Arccore::Span< T, Extent, MinValue >::Span ( const ConstArrayView< X > &  from)
inlineconstexprnoexcept

Définition à la ligne 532 du fichier Span.h.

◆ Span() [3/8]

template<typename T , Int64 Extent, Int64 MinValue>
template<typename X , Int64 XExtent, Int64 XMinValue, typename = std::enable_if_t<std::is_same_v<const X, T>>>
constexpr ARCCORE_HOST_DEVICE Arccore::Span< T, Extent, MinValue >::Span ( const Span< X, XExtent, XMinValue > &  from)
inlineconstexprnoexcept

Définition à la ligne 536 du fichier Span.h.

◆ Span() [4/8]

template<typename T , Int64 Extent, Int64 MinValue>
template<typename X , Int32 XExtent, Int32 XMinValue, typename = std::enable_if_t<std::is_same_v<const X, T>>>
constexpr ARCCORE_HOST_DEVICE Arccore::Span< T, Extent, MinValue >::Span ( const SmallSpan< X, XExtent, XMinValue > &  from)
inlineconstexprnoexcept

Définition à la ligne 541 du fichier Span.h.

◆ Span() [5/8]

template<typename T , Int64 Extent, Int64 MinValue>
template<Int64 XExtent, Int64 XMinValue>
constexpr ARCCORE_HOST_DEVICE Arccore::Span< T, Extent, MinValue >::Span ( const SpanImpl< T, Int64, XExtent, XMinValue > &  from)
inlineconstexprnoexcept

Définition à la ligne 545 du fichier Span.h.

◆ Span() [6/8]

template<typename T , Int64 Extent, Int64 MinValue>
template<Int32 XExtent, Int32 XMinValue>
constexpr ARCCORE_HOST_DEVICE Arccore::Span< T, Extent, MinValue >::Span ( const SpanImpl< T, Int32, XExtent, XMinValue > &  from)
inlineconstexprnoexcept

Définition à la ligne 549 du fichier Span.h.

◆ Span() [7/8]

template<typename T , Int64 Extent, Int64 MinValue>
constexpr ARCCORE_HOST_DEVICE Arccore::Span< T, Extent, MinValue >::Span ( pointer  ptr,
Int64  asize 
)
inlineconstexprnoexcept

Construit une vue sur une zone mémoire commencant par ptr et contenant asize éléments.

Définition à la ligne 554 du fichier Span.h.

◆ Span() [8/8]

template<typename T , Int64 Extent, Int64 MinValue>
template<std::size_t N, typename X , typename = is_same_const_type<X>>
constexpr ARCCORE_HOST_DEVICE Arccore::Span< T, Extent, MinValue >::Span ( std::array< X, N > &  from)
inlineconstexprnoexcept

Construit une vue à partir d'un std::array.

Définition à la ligne 560 du fichier Span.h.

Documentation des fonctions membres

◆ create()

template<typename T , Int64 Extent, Int64 MinValue>
static constexpr ThatClass Arccore::Span< T, Extent, MinValue >::create ( pointer  ptr,
size_type  asize 
)
inlinestaticconstexprnoexcept

Construit une vue sur une zone mémoire commencant par ptr et.

Définition à la ligne 576 du fichier Span.h.

◆ operator=()

template<typename T , Int64 Extent, Int64 MinValue>
template<std::size_t N, typename X , typename = is_same_const_type<X>>
constexpr ARCCORE_HOST_DEVICE ThatClass & Arccore::Span< T, Extent, MinValue >::operator= ( std::array< X, N > &  from)
inlineconstexprnoexcept

◆ subPart()

template<typename T , Int64 Extent, Int64 MinValue>
constexpr ARCCORE_HOST_DEVICE Span< T, DynExtent > Arccore::Span< T, Extent, MinValue >::subPart ( Int64  abegin,
Int64  asize 
) const
inlineconstexpr

Sous-vue à partir de l'élément abegin et contenant asize éléments.

Si (abegin+asize) est supérieur à la taille du tableau, la vue est tronquée à cette taille, retournant éventuellement une vue vide.

Définition à la ligne 614 du fichier Span.h.

Références Arccore::SpanImpl< T, Int64, Extent, MinValue >::subPart().

◆ subPartInterval()

template<typename T , Int64 Extent, Int64 MinValue>
constexpr ARCCORE_HOST_DEVICE Span< T, DynExtent > Arccore::Span< T, Extent, MinValue >::subPartInterval ( Int64  index,
Int64  nb_interval 
) const
inlineconstexpr

Sous-vue correspondant à l'interval index sur nb_interval.

Définition à la ligne 626 du fichier Span.h.

◆ subspan()

template<typename T , Int64 Extent, Int64 MinValue>
constexpr ARCCORE_HOST_DEVICE Span< T, DynExtent > Arccore::Span< T, Extent, MinValue >::subspan ( Int64  abegin,
Int64  asize 
) const
inlineconstexpr

Sous-vue à partir de l'élément abegin et contenant asize éléments.

Si (abegin+asize est supérieur à la taille du tableau, la vue est tronquée à cette taille, retournant éventuellement une vue vide.

Définition à la ligne 590 du fichier Span.h.

Références Arccore::SpanImpl< T, Int64, Extent, MinValue >::subspan().

Référencé par Arccore::BasicSerializerNewImpl::_fillPadding(), et Arccore::Span< T, Extent, MinValue >::subView().

◆ subSpan()

template<typename T , Int64 Extent, Int64 MinValue>
constexpr ARCCORE_HOST_DEVICE Span< T, DynExtent > Arccore::Span< T, Extent, MinValue >::subSpan ( Int64  abegin,
Int64  asize 
) const
inlineconstexpr

Sous-vue à partir de l'élément abegin et contenant asize éléments.

Si (abegin+asize) est supérieur à la taille du tableau, la vue est tronquée à cette taille, retournant éventuellement une vue vide.

Définition à la ligne 602 du fichier Span.h.

Références Arccore::SpanImpl< T, Int64, Extent, MinValue >::subSpan().

◆ subSpanInterval()

template<typename T , Int64 Extent, Int64 MinValue>
constexpr ARCCORE_HOST_DEVICE Span< T, DynExtent > Arccore::Span< T, Extent, MinValue >::subSpanInterval ( Int64  index,
Int64  nb_interval 
) const
inlineconstexpr

Sous-vue correspondant à l'interval index sur nb_interval.

Définition à la ligne 620 du fichier Span.h.

◆ subView()

template<typename T , Int64 Extent, Int64 MinValue>
constexpr ARCCORE_HOST_DEVICE Span< T > Arccore::Span< T, Extent, MinValue >::subView ( Int64  abegin,
Int64  asize 
) const
inlineconstexpr

Sous-vue à partir de l'élément abegin et contenant asize éléments.

Si (abegin+asize) est supérieur à la taille du tableau, la vue est tronquée à cette taille, retournant éventuellement une vue vide.

Définition à la ligne 639 du fichier Span.h.

Références Arccore::Span< T, Extent, MinValue >::subspan().

◆ subViewInterval()

template<typename T , Int64 Extent, Int64 MinValue>
constexpr ARCCORE_HOST_DEVICE Span< T > Arccore::Span< T, Extent, MinValue >::subViewInterval ( Int64  index,
Int64  nb_interval 
) const
inlineconstexpr

Sous-vue correspondant à l'interval index sur nb_interval.

Définition à la ligne 646 du fichier Span.h.


La documentation de cette classe a été générée à partir des fichiers suivants :