Namensräume
Varianten
Aktionen

std::default_accessor

Von cppreference.com
< cpp‎ | container‎ | mdspan
 
 
 
 
Definiert in Header <mdspan>
template< class ElementType >
class default_accessor;
(seit C++23)

Eine Spezialisierung der Klassenschablone std::default_accessor ist die Standard-AccessorPolicy, die von std::mdspan verwendet wird, wenn keine benutzerdefinierte Accessor-Richtlinie angegeben wird.

Jede Spezialisierung von default_accessor modelliert semiregular und ist TriviallyCopyable.

Inhalt

[edit] Template-Parameter

ElementType - Der Elementtyp. Muss ein vollständiger Objekttyp sein, der weder ein abstrakter Klassentyp noch ein Array-Typ ist. Andernfalls ist das Programm schlecht geformt.

[edit] Member-Typen

Mitgliedertyp Definition
offset_policy default_accessor
element_type ElementType
Referenz ElementType&
data_handle_type ElementType*

[edit] Member-Funktionen

(Konstruktor)
konstruiert einen default_accessor
(öffentliche Memberfunktion)
Zugriff
gibt ein n-tes Element zurück, das durch Argumente bereitgestellt wird
(öffentliche Memberfunktion)
offset
gibt einen Daten-Handle zurück, der um einen Offset-Wert vorgerückt ist
(öffentliche Memberfunktion)

std::default_accessor::default_accessor

constexpr default_accessor() noexcept = default;
(1)
template< class OtherElementType >
constexpr default_accessor( default_accessor<OtherElementType> ) noexcept {}
(2)
1) Konstruiert einen default_accessor standardmäßig.
2) Konstruiert einen default_accessor aus default_accessor<OtherElementType>. Der Konstruktor hat keine sichtbare Auswirkung. Diese Überladung nimmt nur an der Überladungsauflösung teil, wenn std::is_convertible_v<OtherElementType(*)[], element_type(*)[]> wahr ist.

std::default_accessor::access

constexpr reference access( data_handle_type p, std::size_t i ) const noexcept;

Entspricht return p[i];.

std::default_accessor::offset

constexpr data_handle_type offset( data_handle_type p, std::size_t i ) const noexcept;

Entspricht return p + i;.

[edit] Beispiel