std::layout_right::mapping<Extents>::operator()
Von cppreference.com
< cpp | container | mdspan | layout right | mapping
| template< class... Indices > constexpr index_type operator()( Indices... indices ) const noexcept; |
(seit C++23) | |
Bildet den mehrdimensionalen Index indices auf einen Offset-Wert ab.
Entspricht return ((static_cast<index_type>(indices) * stride(P)) + ... + 0); wobei P ein Pack ist, sodass std::is_same_v<std::index_sequence_for<Indices...>, std::index_sequence<P...>> true ist.
Diese Überladung nimmt nur an der Überladungsauflösung teil, wenn
- sizeof...(Indices) == extents_type::rank() wahr ist,
- (std::is_convertible_v<Indices, index_type> && ...) wahr ist und
- (std::is_nothrow_constructible_v<index_type, Indices> && ...) wahr ist.
Wenn extents_type::index-cast(i) kein mehrdimensionaler Index in extents() ist, ist das Verhalten undefiniert.
Inhalt |
[bearbeiten] Parameter
| indices | - | Der mehrdimensionale Index im zugrunde liegenden Extents-Objekt |
[bearbeiten] Rückgabewert
Der Offset-Wert.
[bearbeiten] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[bearbeiten] Siehe auch
| bildet einen mehrdimensionalen Index auf einen Offset-Wert ab (public member function of std::layout_left::mapping<Extents>) | |
| bildet einen mehrdimensionalen Index auf einen Offset-Wert ab (public member function of std::layout_stride::mapping<Extents>) | |
| greift auf ein Element am angegebenen multidimensionalen Index zu (member function of std::mdspan<T,Extents,LayoutPolicy,AccessorPolicy>) |