std::ranges:: views:: to_input, std::ranges:: to_input_view
|
ヘッダーで定義
<ranges>
|
||
|
template
<
ranges::
input_range
V
>
requires
ranges::
view
<
V
>
|
(1) | (C++26以降) |
|
namespace
views
{
inline
constexpr
/* 未規定 */
to_input
=
/* 未規定 */
;
|
(2) | (C++26以降) |
|
呼び出しシグネチャ
|
||
|
template
<
ranges::
viewable_range
R
>
requires
/* 下記参照 */
|
(C++26以降) | |
-
views::
all
(
e
)
(ただし、これが整形式な式であり、かつ以下の条件がすべて
true
である場合):
-
Tがinput_rangeをモデルする -
Tがcommon_rangeを満たさない -
Tがforward_rangeを満たさない
-
- それ以外の場合、 to_input_view { e }
したがって、
to_input_view
は、
input_range
よりも強い範囲コンセプトを決してモデルしません。特に、以下のすべてをモデルしません:
さらに、
to_input_view
は
common_range
をモデル化しません。しかしながら、基盤となるビュー
V
がそれぞれのコンセプトをモデル化する場合には、
borrowed_range
、
constant_range
、および
sized_range
をモデル化します。
目次 |
データメンバ
| メンバー | 説明 |
V
base_
(private)
|
基盤となるビュー
( 説明専用メンバーオブジェクト* ) |
メンバー関数
to_input_view
を構築する
(public member function) |
|
|
基盤となる(適応された)ビューのコピーを返す
(public member function) |
|
|
先頭を指すイテレータを返す
(public member function) |
|
|
終端を指すイテレータまたはセンチネルを返す
(public member function) |
|
要素数を返す。基盤となる(適応された)範囲が
sized_range
を満たす場合にのみ提供される。
(public member function) |
|
std::ranges::view_interface から継承 |
|
派生ビューが空かどうかを返す。
sized_range
または
forward_range
を満たす場合にのみ提供される。
(
std::ranges::view_interface<D>
のpublic member function)
|
|
|
(C++23)
|
範囲の先頭を指す定数イテレータを返す
(
std::ranges::view_interface<D>
のpublic member function)
|
|
(C++23)
|
範囲の定数イテレータ用センチネルを返す
(
std::ranges::view_interface<D>
のpublic member function)
|
|
派生ビューが空でないかどうかを返す。
ranges::empty
が適用可能な場合にのみ提供される。
(
std::ranges::view_interface<D>
のpublic member function)
|
|
派生ビューのデータのアドレスを取得する。そのイテレータ型が
contiguous_iterator
を満たす場合にのみ提供される。
(
std::ranges::view_interface<D>
のpublic member function)
|
|
派生ビューの最初の要素を返す。
forward_range
を満たす場合に提供される。
(
std::ranges::view_interface<D>
のpublic member function)
|
|
派生ビューの最後の要素を返す。
bidirectional_range
かつ
common_range
を満たす場合にのみ提供される。
(
std::ranges::view_interface<D>
のpublic member function)
|
|
派生ビューの
n
th
番目の要素を返す。
random_access_range
を満たす場合にのみ提供される。
(
std::ranges::view_interface<D>
のpublic member function)
|
|
std::ranges::to_input_view:: to_input_view
|
to_input_view
(
)
requires
std::
default_initializable
<
V
>
=
default
;
|
(1) | (C++26以降) |
|
constexpr
explicit
to_input_view
(
V base
)
;
|
(2) | (C++26以降) |
base_
を値初期化します。
base_
を
std
::
move
(
base
)
で初期化します。
パラメータ
| base | - | ビュー |
(注:元のテキストに翻訳対象となる可読テキストが含まれていないため、HTML構造のみを保持したまま出力しています)
std::ranges::to_input_view:: base
|
constexpr
V base
(
)
const
&
requires
std::
copy_constructible
<
V
>
;
|
(1) | (C++26以降) |
|
constexpr
V base
(
)
&&
;
|
(2) | (C++26以降) |
std::ranges::to_input_view:: begin
|
constexpr
auto
begin
(
)
requires
(
!
__simple_view
<
V
>
)
;
|
(1) | (C++26以降) |
|
constexpr
auto
begin
(
)
const
requires
ranges::
range
<
const
V
>
;
|
(2) | (C++26以降) |
std::ranges::to_input_view:: end
|
constexpr
auto
end
(
)
requires
(
!
__simple_view
<
V
>
)
;
|
(1) | (C++26以降) |
|
constexpr
auto
end
(
)
const
requires
ranges::
range
<
const
V
>
;
|
(2) | (C++26以降) |
(注:指定されたテキストブロック内に翻訳対象となる可読テキストが存在しないため、HTML構造はそのまま保持されています)
std::ranges::to_input_view:: size
|
constexpr
auto
size
(
)
requires
ranges::
sized_range
<
V
>
;
|
(1) | (C++26以降) |
|
constexpr
auto
size
(
)
const
requires
ranges::
sized_range
<
const
V
>
;
|
(2) | (C++26以降) |
推論ガイド
|
template
<
class
R
>
to_input_view ( R && ) - > to_input_view < views:: all_t < R >> ; |
(C++26以降) | |
ネストされたクラス
|
イテレータ型
( 説明専用メンバークラステンプレート* ) |
ヘルパーテンプレート
|
template
<
class
T
>
constexpr
bool
enable_borrowed_range
<
std
::
ranges
::
to_input_view
<
T
>>
=
|
(C++26 以降) | |
この
std
::
ranges::
enable_borrowed_range
の特殊化は、基になるビューが
borrowed_range
を満たす場合に
to_input_view
がそれを満たすようにします。
注記
to_input_view
は、より強力なイテレータ強度に必要な操作をサポートするために必要なオーバーヘッドを回避するのに有用です。
| 機能テスト マクロ | 値 | 標準 | 機能 |
|---|---|---|---|
__cpp_lib_ranges_to_input
|
202502L
|
(C++26) |
std::ranges::to_input_view
|
例
|
このセクションは不完全です
理由: 例がありません |
関連項目
|
(C++20)
|
イテレータ型が
input_iterator
を満たす範囲を指定する
(コンセプト) |
view
を
common_range
に変換する
(クラステンプレート) (範囲アダプタオブジェクト) |