#include <atlas/mdspan.h>
template<class ElementType, size_t Base>
index_accessor struct
Public types
- using element_type = ElementType
-
using reference = std::
conditional_t<Base==0, ElementType&, std:: conditional_t<std:: is_const_v<ElementType>, ElementType, index_ reference<ElementType, Base>>> - using data_handle_type = ElementType*
-
using offset_policy = index_
accessor
Public static variables
- static ElementType base_ constexpr
Constructors, destructors, conversion operators
- index_accessor() defaulted constexpr
-
template<class OtherAccessor, typename = typename std::index_accessor(const OtherAccessor&) constexpr
enable_if_t< (!std:: is_const_v<ElementType>&& std:: is_same_v<ElementType, std:: remove_const_t<typename OtherAccessor::element_type>>) ||( std:: is_const_v<ElementType>&& std:: is_same_v<ElementType, std:: add_const_t<typename OtherAccessor::element_type>>)>> - operator default_accessor<element_type>() const constexpr noexcept
Public functions
-
template<size_t B = Base, typename = std::auto access(data_handle_type p, size_t i) const -> ElementType& constexpr noexcept
enable_if_t<B == 0>> -
template<size_t B = Base, typename = std::auto access(data_handle_type p, size_t i) const -> index_
enable_if_t<B != 0&& !std:: is_const_v<ElementType>>> reference<ElementType, Base> constexpr noexcept -
template<size_t B = Base, typename = std::auto access(data_handle_type p, size_t i) const -> ElementType constexpr noexcept
enable_if_t<B != 0&& std:: is_const_v<ElementType>>> - auto offset(data_handle_type p, size_t i) const -> data_handle_type constexpr noexcept