Namespaces
Variants

std::experimental::basic_string_view<CharT,Traits>:: basic_string_view

From cppreference.net
constexpr basic_string_view ( ) noexcept ;
(1) (ライブラリ基盤仕様 TS)
constexpr basic_string_view ( const basic_string_view & other ) noexcept = default ;
(2) (ライブラリ基盤仕様 TS)
template < class Allocator >
basic_string_view ( const std:: basic_string < CharT, Traits, Allocator > & str ) noexcept ;
(3) (ライブラリ基盤仕様 TS)
constexpr basic_string_view ( const CharT * s, size_type count ) ;
(4) (ライブラリ基盤仕様 TS)
constexpr basic_string_view ( const CharT * s ) ;
(5) (ライブラリ基盤仕様 TS)
1) デフォルトコンストラクタ。空の basic_string_view を構築します。
2) コピーコンストラクタ。 other と同じ内容のビューを構築します。
3) str. size ( ) 文字分の文字配列のビューを構築します。この文字配列は str. data ( ) が指す要素から始まります。
4) 要素 s が指す文字配列の先頭から count 文字分のビューを構築する。 s はナル文字を含むことができる。 [ s , s + count ) が有効な範囲でない場合、動作は未定義である(コンストラクタがこの範囲の要素にアクセスしない場合でも)。
5) s が指すnull終端文字列のビューを構築する。終端のnull文字は含まない。ビューの長さは Traits :: length ( s ) によって決定されるかのように計算される。 [ s , s + Traits :: length ( s ) ) が有効な範囲でない場合、動作は未定義である(コンストラクタがこの範囲の要素にアクセスしない場合でも)。

目次

パラメータ

other - ビューを初期化するための別のビュー
str - ビューを初期化するためのC++文字列オブジェクト
s - ビューを初期化するための文字配列またはC文字列へのポインタ
count - ビューに含める文字数

例外

4,5) 例外を送出しない。

計算量

1-4) 定数。
5) 長さに対して線形 s .

#include <experimental/string_view>
#include <iostream>
int main()
{
    std::string cppstr = "Foo";
    char array[3] = {'B', 'a', 'r'};
    std::experimental::string_view cppstr_v(cppstr);
    std::experimental::string_view array_v(array, sizeof array);
    std::experimental::wstring_view wcstr_v = L"xyzzy";
    std::cout << cppstr_v << '\n'
              << array_v << '\n'
              << wcstr_v.size() << '\n';
}

出力:

Foo
Bar
5

関連項目

ビューを代入する
(公開メンバ関数)