std::mdspan<T,Extents,LayoutPolicy,AccessorPolicy>::operator[]
Von cppreference.com
| template< class... OtherIndexTypes > constexpr reference operator[]( OtherIndexTypes... indices ) const; |
(1) | (seit C++23) |
| template< class OtherIndexType > constexpr reference operator[] |
(2) | (seit C++23) |
| template< class OtherIndexType > constexpr reference operator[] |
(3) | (seit C++23) |
Gibt einen Verweis auf das indicesth Element des mdspan zurück.
1) Äquivalent zu return acc_.access(ptr_, map_(static_cast<index_type>(std::move(indices))...));.
Diese Überladung nimmt nur an der Überladungsauflösung teil, wenn
- (std::is_convertible_v<OtherIndexTypes, index_type> && ...) ist true,
- (std::is_nothrow_constructible_v<index_type, OtherIndexTypes> && ...) ist true, und
- sizeof...(OtherIndexTypes) == rank() ist true.
Sei
I extents_type::index-cast(std::move(indices)). Dann ist das Verhalten undefiniert, wenn I kein mehrdimensionaler Index in extents() ist, d.h. map_(I) < map_.required_span_size() ist false.2,3) Sei
P ein Parameter-Pack, so dass std::is_same_v<make_index_sequence<rank()>, index_sequence<P...>> true ist, dann ist der Operator äquivalent zu return operator[](extents_type::index-cast(std::as_const(indices[P]))...);. Diese Überladung nimmt nur an der Überladungsauflösung teil, wenn
- std::is_convertible_v<const OtherIndexType&, index_type> ist true, und
- std::is_nothrow_constructible_v<index_type, const OtherIndexType&> ist true.
Inhalt |
[bearbeiten] Parameter
| indices | - | die Indizes des zuzugreifenden Elements |
[bearbeiten] Rückgabewert
Ein Verweis auf das Element.
[bearbeiten] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[bearbeiten] Fehlerberichte
Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 3974 | C++23 | Überladungen (2,3) haben extents_type::index-cast nicht angewendet |
angewendet |
[bearbeiten] Siehe auch
| Dieser Abschnitt ist unvollständig |