std::default_accessor - cppreference.com (original) (raw)
| | | | | ------------------------------------------------------- | | ------------- | | template< class ElementType > class default_accessor; | | (since C++23) |
A specialization of std::default_accessor
class template is the default AccessorPolicy used by std::mdspan if no user-specified accessor policy is provided.
Each specialization of default_accessor
models semiregular and is TriviallyCopyable.
Contents
- 1 Template parameters
- 2 Member types
- 3 Member functions
- 4 std::default_accessor::default_accessor
- 5 std::default_accessor::access
- 6 std::default_accessor::offset
[edit] Template parameters
ElementType | - | the element type. Shall be a complete object type that is neither an abstract class type nor an array type. Otherwise, the program is ill-formed |
---|
[edit] Member types
Member type | Definition |
---|---|
offset_policy | default_accessor |
element_type | ElementType |
reference | ElementType& |
data_handle_type | ElementType* |
[edit] Member functions
| | constructs a default_accessor (public member function) | | ----------------------------------------------------------------------------- | | | returns a nth element provided by arguments (public member function) | | | returns a data handle advanced by an offset value (public member function) |
std::default_accessor::default_accessor
| constexpr default_accessor() noexcept = default; | (1) | | | ------------------------------------------------------------------------------------------------------------------- | --- | | | template< class OtherElementType > constexpr default_accessor( default_accessor<OtherElementType> ) noexcept {} | (2) | |
Default constructs a
default_accessor
.Constructs a
default_accessor
from default_accessor<OtherElementType>. The constructor has no visible effect. This overload participates in overload resolution only if std::is_convertible_v<OtherElementType(*)[], element_type(*)[]> is true.
std::default_accessor::access
| constexpr reference access( data_handle_type p, std::size_t i ) const noexcept; | | | | --------------------------------------------------------------------------------------------------------------- | | |
Equivalent to return p[i];.
std::default_accessor::offset
| constexpr data_handle_type offset( data_handle_type p, std::size_t i ) const noexcept; | | | | ------------------------------------------------------------------------------------------------------------------------ | | |
Equivalent to return p + i;.