std::ranges:: views:: to_input, std::ranges:: to_input_view
|
Definiert im Header
<ranges>
|
||
|
template
<
ranges::
input_range
V
>
requires
ranges::
view
<
V
>
|
(1) | (seit C++26) |
|
namespace
views
{
inline
constexpr
/* nicht spezifiziert */
to_input
=
/* nicht spezifiziert */
;
|
(2) | (seit C++26) |
|
Aufrufsignatur
|
||
|
template
<
ranges::
viewable_range
R
>
requires
/* siehe unten */
|
(seit C++26) | |
view
als einen ausschließlichen
input_range
und keinen
common_range
darstellt.
-
views::
all
(
e
)
, falls es ein wohldefinierter Ausdruck ist und alle folgenden Bedingungen
true
sind:
-
Tmodelliertinput_range, -
Terfüllt nichtcommon_range, und -
Terfüllt nichtforward_range.
-
- to_input_view { e } andernfalls.
Folglich modelliert
to_input_view
niemals Bereichskonzepte, die stärker sind als
input_range
. Insbesondere modelliert es keine der folgenden:
Zusätzlich
to_input_view
modelliert nicht
common_range
. Es modelliert jedoch
borrowed_range
,
constant_range
und
sized_range
, wenn die zugrundeliegende View
V
die jeweiligen Konzepte modelliert.
Inhaltsverzeichnis |
Datenmitglieder
| Mitglied | Beschreibung |
V
base_
(privat)
|
die zugrundeliegende Ansicht
( Nur-Darstellungs-Mitgliedsobjekt* ) |
Memberfunktionen
konstruiert einen
to_input_view
(öffentliche Elementfunktion) |
|
|
gibt eine Kopie der zugrundeliegenden (angepassten) Ansicht zurück
(öffentliche Elementfunktion) |
|
|
gibt einen Iterator zum Anfang zurück
(öffentliche Elementfunktion) |
|
|
gibt einen Iterator oder einen Sentinel zum Ende zurück
(öffentliche Elementfunktion) |
|
gibt die Anzahl der Elemente zurück. Nur bereitgestellt, wenn der zugrundeliegende (angepasste) Bereich
sized_range
erfüllt.
(öffentliche Elementfunktion) |
|
Geerbt von std::ranges::view_interface |
|
gibt zurück, ob die abgeleitete Ansicht leer ist, nur bereitgestellt wenn sie
sized_range
oder
forward_range
erfüllt
(öffentliche Elementfunktion von
std::ranges::view_interface<D>
)
|
|
|
(C++23)
|
gibt einen konstanten Iterator zum Anfang des Bereichs zurück
(öffentliche Elementfunktion von
std::ranges::view_interface<D>
)
|
|
(C++23)
|
gibt einen Sentinel für den konstanten Iterator des Bereichs zurück
(öffentliche Elementfunktion von
std::ranges::view_interface<D>
)
|
|
gibt zurück, ob die abgeleitete Ansicht nicht leer ist, nur bereitgestellt wenn
ranges::empty
darauf anwendbar ist
(öffentliche Elementfunktion von
std::ranges::view_interface<D>
)
|
|
ruft die Adresse der Daten der abgeleiteten Ansicht ab, nur bereitgestellt wenn ihr Iteratortyp
contiguous_iterator
erfüllt
(öffentliche Elementfunktion von
std::ranges::view_interface<D>
)
|
|
gibt das erste Element in der abgeleiteten Ansicht zurück, bereitgestellt wenn sie
forward_range
erfüllt
(öffentliche Elementfunktion von
std::ranges::view_interface<D>
)
|
|
gibt das letzte Element in der abgeleiteten Ansicht zurück, nur bereitgestellt wenn sie
bidirectional_range
und
common_range
erfüllt
(öffentliche Elementfunktion von
std::ranges::view_interface<D>
)
|
|
gibt das
n
te
Element in der abgeleiteten Ansicht zurück, nur bereitgestellt wenn sie
random_access_range
erfüllt
(öffentliche Elementfunktion von
std::ranges::view_interface<D>
)
|
|
std::ranges::to_input_view:: to_input_view
|
to_input_view
(
)
requires
std::
default_initializable
<
V
>
=
default
;
|
(1) | (seit C++26) |
|
constexpr
explicit
to_input_view
(
V base
)
;
|
(2) | (seit C++26) |
base_
über seinen Standard-Member-Initialisierer (
=
V
(
)
).
base_
mit
std
::
move
(
base
)
.
Parameter
| base | - | eine View |
std::ranges::to_input_view:: base
|
constexpr
V base
(
)
const
&
requires
std::
copy_constructible
<
V
>
;
|
(1) | (seit C++26) |
|
constexpr
V base
(
)
&&
;
|
(2) | (seit C++26) |
std::ranges::to_input_view:: begin
|
constexpr
auto
begin
(
)
requires
(
!
__simple_view
<
V
>
)
;
|
(1) | (seit C++26) |
|
constexpr
auto
begin
(
)
const
requires
ranges::
range
<
const
V
>
;
|
(2) | (seit C++26) |
std::ranges::to_input_view:: end
|
constexpr
auto
end
(
)
requires
(
!
__simple_view
<
V
>
)
;
|
(1) | (seit C++26) |
|
constexpr
auto
end
(
)
const
requires
ranges::
range
<
const
V
>
;
|
(2) | (seit C++26) |
std::ranges::to_input_view:: size
|
constexpr
auto
size
(
)
requires
ranges::
sized_range
<
V
>
;
|
(1) | (seit C++26) |
|
constexpr
auto
size
(
)
const
requires
ranges::
sized_range
<
const
V
>
;
|
(2) | (seit C++26) |
Deduktionsanleitungen
|
template
<
class
R
>
to_input_view ( R && ) - > to_input_view < views:: all_t < R >> ; |
(seit C++26) | |
Geschachtelte Klassen
|
der Iteratortyp
( Nur zur Veranschaulichung dienende Member-Klassenvorlage* ) |
Hilfsvorlagen
|
template
<
class
T
>
constexpr
bool
enable_borrowed_range
<
std
::
ranges
::
to_input_view
<
T
>>
=
|
(seit C++26) | |
Diese Spezialisierung von
std
::
ranges::
enable_borrowed_range
bewirkt, dass
to_input_view
borrowed_range
erfüllt, wenn die zugrundeliegende View diese Bedingung erfüllt.
Hinweise
to_input_view
kann nützlich sein, um den Aufwand zu vermeiden, der notwendig ist, um Unterstützung für die Operationen bereitzustellen, die für eine größere Iterator-Stärke benötigt werden.
| Feature-Test Makro | Wert | Std | Feature |
|---|---|---|---|
__cpp_lib_ranges_to_input
|
202502L
|
(C++26) |
std::ranges::to_input_view
|
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Siehe auch
|
(C++20)
|
spezifiziert einen Bereich, dessen Iteratortyp
input_iterator
erfüllt
(Konzept) |
konvertiert eine
view
in einen
common_range
(Klassentemplate) (Range-Adapter-Objekt) |