C++ named requirements: AccessorPolicy (since C++23)
AccessorPolicy definiert, wie Elemente aus einem gegebenen Datenhandle zu solchen Elementen und einem Index zugriffen werden. Es wird als Policy in std:: mdspan verwendet, um den Zugriff auf eine Referenz eines Elements unter Verwendung eines zugrundeliegenden 1D-Index zu spezifizieren.
Inhaltsverzeichnis |
Anforderungen
Ein Typ
A
erfüllt
AccessorPolicy
, wenn er das Konzept
copyable
modelliert und die folgenden Ausdrücke
true
ergeben:
- std:: is_nothrow_move_constructible_v < A >
- std:: is_nothrow_move_assignable_v < A >
- std:: is_nothrow_swappable_v < A >
Und, bei den folgenden Typen und Werten sind die in der nachstehenden Tabelle gezeigten Ausdrücke gültig und haben die angegebene Semantik:
Legende
| Typ | Definition |
A
|
ein Zugriffspolicy-Typ |
OP
|
ein Offset-Policy-Typ |
| Wert | Definition |
| a |
ein Wert vom Typ (möglicherweise const-qualifiziert)
A
|
| p |
ein Wert vom Typ (möglicherweise const-qualifiziert)
A::data_handle_type
|
| i , j , n | Werte vom Typ std:: size_t |
Mitgliedertypen
| Typ | Definition | Anforderungen |
|---|---|---|
A::element_type
|
nicht spezifiziert |
|
A::data_handle_type
|
nicht spezifiziert [1] |
|
A::reference
|
nicht spezifiziert [2] |
|
A::offset_policy
|
OP
|
|
Memberfunktionen
| Ausdruck | Rückgabetyp | Semantik |
|---|---|---|
| a. access ( p, i ) | typename A :: reference |
|
| a. offset ( p, i ) |
typename
A
::
offset_policy
::
data_handle_type
|
|
Zugänglicher Bereich
Ein Bereich von Indizes
[
0
,
N
)
ist ein
zugänglicher Bereich
eines gegebenen Datenhandles und eines Accessors, wenn für jeden Index im Bereich die
access
Memberfunktion eine gültige Referenz auf ein Element erzeugt.
Standardbibliothek
Die folgenden Standardbibliothekstypen erfüllen die AccessorPolicy -Anforderungen:
|
(C++23)
|
ein Typ für indizierten Zugriff auf Elemente von
mdspan
(Klassentemplate) |
|
(C++26)
|
ein Typ für ausgerichteten Zugriff auf Elemente von
mdspan
(Klassentemplate) |
|
Definiert im Namensraum
std::linalg
|
|
|
(C++26)
|
std::mdspan
Zugriffsrichtlinie, deren Referenz das Produkt eines festen Skalierungsfaktors und der Referenz ihres verschachtelten
std::mdspan
Zugriffsobjekts darstellt
(Klassentemplate) |
|
(C++26)
|
std::mdspan
Zugriffsrichtlinie, deren Referenz die komplex Konjugierte der Referenz ihres verschachtelten
std::mdspan
Zugriffsobjekts darstellt
(Klassentemplate) |