Spec-Zone.ru › C++

std::layout_right::mapping<Extents>::operator()

template< class... Indices >
constexpr index_type operator()( Indices... indices ) const noexcept;
(since C++23)

Maps the multidimensional index indices into an offset value.

Equivalent to return ((static_cast<index_type>(indices) * stride(P)) + ... + 0); where P is a pack such that std::is_same_v<std::index_sequence_for<Indices...>, std::index_sequence<P...>> is true.

This overload participates in overload resolution only if :

  • sizeof...(Indices) == extents_type​::​rank() is true,
  • (std::is_convertible_v<Indices, index_type> && ...) is true, and
  • (std::is_nothrow_constructible_v<index_type, Indices> && ...) is true.

If extents_type​::index-cast(i) is not a multidimensional index in extents(), the behavior is undefined.

Parameters

indices - the multidimensional index in the underlying extents object

Return value

The offset value.

Example

See also

operator()
maps a multidimensional index into an offset value
(public member function of std::layout_left::mapping<Extents>)
operator()
maps a multidimensional index into an offset value
(public member function of std::layout_stride::mapping<Extents>)
operator[]
accesses an element at the specified multidimensional index
(public member function of std::mdspan<T,Extents,LayoutPolicy,AccessorPolicy>)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/container/mdspan/layout_right/mapping/operator()

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API