nlib
|
std::string
が持つメソッドをstd::string
を構築せずに利用するためのクラスです。
[詳解]
#include "nn/nlib/StringView.h"
公開型 | |
typedef char | charT |
現在はchar 型専用のクラスです。 | |
typedef charT | value_type |
文字の型です。 | |
typedef const charT * | pointer |
文字へのポインタ型ですが、const_pointer と同一です。 | |
typedef const charT * | const_pointer |
文字へのポインタ型です。 | |
typedef const charT & | reference |
文字への参照ですが、const_reference と同一です。 | |
typedef const charT & | const_reference |
文字への参照です。 | |
typedef const_pointer | const_iterator |
文字列のイテレータです。 | |
typedef const_iterator | iterator |
文字列のイテレータですが、const_iterator と同一です。 | |
typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
文字列の逆方向イテレータです | |
typedef const_reverse_iterator | reverse_iterator |
文字列の逆方向イテレータですが、const_reverse_iterator と同一です。 | |
typedef size_t | size_type |
非負整数型で、現在はsize_t にtypedef されています。 | |
typedef ptrdiff_t | difference_type |
イテレータの差分をとったときに返される型です。 | |
公開メンバ関数 | |
constexpr | StringView () noexcept |
デフォルトコンストラクタです。空文字列で初期化されます。 | |
StringView (const charT *str) noexcept | |
str を参照するように初期化されます。内部で文字列長が計算されます。 | |
StringView (const charT *str, size_type len) noexcept | |
(計算済みの)文字列長を与えて初期化します。 | |
const_iterator | begin () const noexcept |
最初のキャラクタへの反復子を返します。 [詳解] | |
const_iterator | end () const noexcept |
最後の文字に続く文字への反復子を返します。 [詳解] | |
const_iterator | cbegin () const noexcept |
最初のキャラクタへの反復子を返します。 [詳解] | |
const_iterator | cend () const noexcept |
最後の文字に続く文字への反復子を返します。 [詳解] | |
const_reverse_iterator | rbegin () const noexcept |
最後の文字への逆反復子を返します。 [詳解] | |
const_reverse_iterator | rend () const noexcept |
最初の文字の前の文字への逆反復子を返します。 [詳解] | |
const_reverse_iterator | crbegin () const noexcept |
最後の文字への逆反復子を返します。 [詳解] | |
const_reverse_iterator | crend () const noexcept |
最初の文字の前の文字への逆反復子を返します。 [詳解] | |
size_type | size () const noexcept |
文字列長を返します。 [詳解] | |
size_type | length () const noexcept |
文字列長を返します。 [詳解] | |
size_type | max_size () const noexcept |
文字列長の最大値を返します。 [詳解] | |
bool | empty () const noexcept |
空文字列であるかどうかをチェックします。 [詳解] | |
const charT & | operator[] (size_type pos) const |
pos 番目の文字を取得します。 [詳解] | |
const charT & | at (size_type pos) const |
pos 番目の文字を取得します。 [詳解] | |
const charT & | front () const |
最初の文字を取得します。 [詳解] | |
const charT & | back () const |
最後の文字を取得します。 [詳解] | |
const charT * | data () const noexcept |
最初の文字へのポインタを返します。 [詳解] | |
void | clear () noexcept |
空文字列を設定します。 | |
void | remove_prefix (size_type n) noexcept |
最初のn 文字を取り除きます。 [詳解] | |
void | remove_suffix (size_type n) noexcept |
最後のn 文字を取り除きます。 [詳解] | |
StringView | substr (size_type pos, size_type n=npos) const noexcept |
部分文字列[pos, pos + n) を返します。 [詳解] | |
int | compare (const StringView &s) const noexcept |
文字列を比較します。 [詳解] | |
int | compare (const charT *s) const noexcept |
文字列を比較します。 [詳解] | |
bool | starts_with (const StringView &s) const noexcept |
文字列がs をプレフィックスとして持つかをチェックします。 [詳解] | |
bool | starts_with (charT c) const noexcept |
文字c で始まるかどうかをチェックします。 [詳解] | |
bool | starts_with (const charT *s) const noexcept |
文字列がs をプレフィックスとして持つかをチェックします。 [詳解] | |
bool | ends_with (const StringView &s) const noexcept |
文字列がs をサフィックスとして持つかをチェックします。 [詳解] | |
bool | ends_with (charT c) const noexcept |
末尾が文字c であるかどうかをチェックします。 [詳解] | |
bool | ends_with (const charT *s) const noexcept |
文字列がs をサフィックスとして持つかをチェックします。 [詳解] | |
bool | ToCstring (charT *str, size_type buf_size) const noexcept |
C文字列に変換します。 [詳解] | |
template<size_type N> | |
bool | ToCstring (charT(&str)[N]) const noexcept |
bool | ToCstring (UniquePtr< charT[]> &str) const noexcept |
errno_t | ToInteger (int32_t *v, size_type *idx=NULL, int base=10) const noexcept |
文字列を整数に変換します。 [詳解] | |
errno_t | ToInteger (int64_t *v, size_type *idx=NULL, int base=10) const noexcept |
文字列を整数に変換します。 [詳解] | |
errno_t | ToInteger (uint32_t *v, size_type *idx=NULL, int base=10) const noexcept |
文字列を整数に変換します。 [詳解] | |
errno_t | ToInteger (uint64_t *v, size_type *idx=NULL, int base=10) const noexcept |
文字列を整数に変換します。 [詳解] | |
errno_t | ToInteger (int8_t *v, size_type *idx=NULL, int base=10) const noexcept |
文字列を整数に変換します。 [詳解] | |
errno_t | ToInteger (int16_t *v, size_type *idx=NULL, int base=10) const noexcept |
文字列を整数に変換します。 [詳解] | |
errno_t | ToInteger (uint8_t *v, size_type *idx=NULL, int base=10) const noexcept |
文字列を整数に変換します。 [詳解] | |
errno_t | ToInteger (uint16_t *v, size_type *idx=NULL, int base=10) const noexcept |
文字列を整数に変換します。 [詳解] | |
errno_t | ToFloat (float *v, size_type *idx=NULL) const noexcept |
文字列を倍精度浮動小数点数に変換します。 [詳解] | |
errno_t | ToDouble (double *v, size_type *idx=NULL) const noexcept |
文字列を倍精度浮動小数点数に変換します。 [詳解] | |
bool | TrimLeft () noexcept |
文字列の先頭の空白を切り詰めます。 [詳解] | |
bool | TrimRight () noexcept |
文字列の末尾の空白を切り詰めます。 [詳解] | |
void | Trim () noexcept |
文字列の先頭と末尾の空白を切り詰めます。 | |
StringView | GetLine () noexcept |
先頭から行末までの文字列を取得します。 [詳解] | |
bool | Proceed (const StringView &kwd) noexcept |
プレフィックスがkwd と一致していればkwd の文字列長だけ前に進みます。 [詳解] | |
bool | Proceed (const charT *kwd) noexcept |
プレフィックスがkwd と一致していればkwd の文字列長だけ前に進みます。 [詳解] | |
bool | Proceed (charT ch) noexcept |
先頭の文字をチェックして一致していれば1文字前に進みます。 [詳解] | |
StringView | GetName () noexcept |
一般に変数名とされるような文字列を取得します。 [詳解] | |
静的公開変数類 | |
static const size_type | npos = size_type(-1) |
std::string のnpos と同様に用います。 | |
std::string
が持つメソッドをstd::string
を構築せずに利用するためのクラスです。
string_view
クラスを参考に実装されています。 StringView.h の 28 行目に定義があります。
|
inline |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
noexcept |
文字列を比較します。
[in] | s | 比較対象の文字列 |
std::strcmp()
と同様の値
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
文字列がs
をサフィックスとして持つかをチェックします。
[in] | s | サフィックス文字列 |
s
をサフィックスとして持てばtrue
StringView.h の 136 行目に定義があります。
|
inlinenoexcept |
|
inlinenoexcept |
文字列がs
をサフィックスとして持つかをチェックします。
[in] | s | サフィックス文字列 |
s
をサフィックスとして持てばtrue
StringView.h の 143 行目に定義があります。
|
inline |
|
noexcept |
先頭から行末までの文字列を取得します。
|
inlinenoexcept |
一般に変数名とされるような文字列を取得します。
[a-zA-Z_][a-zA-Z0-9_]*
にマッチする先頭の部分文字列を返します。 自身のオブジェクトは取得した文字列の次に移動します。 StringView.h の 283 行目に定義があります。
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inlinenoexcept |
プレフィックスがkwd
と一致していればkwd
の文字列長だけ前に進みます。
[in] | kwd | チェックする文字列 |
kwd
と一致していればtrue
StringView.h の 178 行目に定義があります。
|
inlinenoexcept |
プレフィックスがkwd
と一致していればkwd
の文字列長だけ前に進みます。
[in] | kwd | チェックする文字列 |
kwd
と一致していればtrue
StringView.h の 184 行目に定義があります。
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
文字列がs
をプレフィックスとして持つかをチェックします。
[in] | s | プレフィックス文字列 |
s
をプレフィックスとして持てばtrue
StringView.h の 127 行目に定義があります。
|
inlinenoexcept |
|
inlinenoexcept |
文字列がs
をプレフィックスとして持つかをチェックします。
[in] | s | プレフィックス文字列 |
s
をプレフィックスとして持てばtrue
StringView.h の 133 行目に定義があります。
部分文字列[pos, pos + n)
を返します。
[in] | pos | 部分文字列の最初の位置 |
[in] | n | 部分文字列の長さ |
[pos, pos + n)
、を表すStringView
オブジェクト StringView.h の 117 行目に定義があります。
C文字列に変換します。
[out] | str | C文字列を格納するバッファ |
[in] | buf_size | バッファ・サイズ(NULL 文字を含む) |
true
、バッファ・サイズが足りない場合はfalse
|
inlinenoexcept |
N | バッファ・サイズ(NULL 文字を含む) |
[in] | str | C文字列を格納するバッファ |
true
、バッファ・サイズが足りない場合はfalse
StringView.h の 146 行目に定義があります。
[out] | str | C文字列を格納するUniquePtr の参照 |
true
、メモリの動的確保に失敗した場合はfalse
StringView.h の 152 行目に定義があります。
|
noexcept |
文字列を倍精度浮動小数点数に変換します。
[out] | v | 数値が格納されるへのポインタ |
[out] | idx | 読み込んだ文字数が格納されるポインタ |
0 | 成功した場合 |
ELISEQ | 数値の途中で不正な文字を検出した場合 |
EINVAL | v がNULL である場合 |
ERANGE | オーバーフロー又はアンダーフローが発生した場合 |
ERANGE
の場合は、idx
に読み込んだ文字数が格納されます。 それ以外のエラーの場合は格納されません。
|
noexcept |
文字列を倍精度浮動小数点数に変換します。
[out] | v | 数値が格納されるへのポインタ |
[out] | idx | 読み込んだ文字数が格納されるポインタ |
0 | 成功した場合 |
ELISEQ | 数値の途中で不正な文字を検出した場合 |
EINVAL | v がNULL である場合 |
ERANGE | オーバーフロー又はアンダーフローが発生した場合 |
ERANGE
の場合は、idx
に読み込んだ文字数が格納されます。 それ以外のエラーの場合は格納されません。
|
noexcept |
文字列を整数に変換します。
[out] | v | 数値が格納されるへのポインタ |
[out] | idx | 読み込んだ文字数が格納されるポインタ |
[in] | base | 基数。0, 8, 10, 16が指定可能。0の場合の挙動はstd::strtol 関数と同様 |
0 | 成功した場合 |
ELISEQ | 数値の途中で不正な文字を検出した場合 |
EINVAL | v がNULL である場合 |
ERANGE | オーバーフロー又はアンダーフローが発生した場合 |
ENOTSUP | base が0, 8, 10, 16以外の場合 |
|
noexcept |
文字列を整数に変換します。
[out] | v | 数値が格納されるへのポインタ |
[out] | idx | 読み込んだ文字数が格納されるポインタ |
[in] | base | 基数。0, 8, 10, 16が指定可能。0の場合の挙動はstd::strtol 関数と同様 |
0 | 成功した場合 |
ELISEQ | 数値の途中で不正な文字を検出した場合 |
EINVAL | v がNULL である場合 |
ERANGE | オーバーフロー又はアンダーフローが発生した場合 |
ENOTSUP | base が0, 8, 10, 16以外の場合 |
|
noexcept |
文字列を整数に変換します。
[out] | v | 数値が格納されるへのポインタ |
[out] | idx | 読み込んだ文字数が格納されるポインタ |
[in] | base | 基数。0, 8, 10, 16が指定可能。0の場合の挙動はstd::strtol 関数と同様 |
0 | 成功した場合 |
ELISEQ | 数値の途中で不正な文字を検出した場合 |
EINVAL | v がNULL である場合 |
ERANGE | オーバーフロー又はアンダーフローが発生した場合 |
ENOTSUP | base が0, 8, 10, 16以外の場合 |
|
noexcept |
文字列を整数に変換します。
[out] | v | 数値が格納されるへのポインタ |
[out] | idx | 読み込んだ文字数が格納されるポインタ |
[in] | base | 基数。0, 8, 10, 16が指定可能。0の場合の挙動はstd::strtol 関数と同様 |
0 | 成功した場合 |
ELISEQ | 数値の途中で不正な文字を検出した場合 |
EINVAL | v がNULL である場合 |
ERANGE | オーバーフロー又はアンダーフローが発生した場合 |
ENOTSUP | base が0, 8, 10, 16以外の場合 |
|
inlinenoexcept |
文字列を整数に変換します。
[out] | v | 数値が格納されるへのポインタ |
[out] | idx | 読み込んだ文字数が格納されるポインタ |
[in] | base | 基数。0, 8, 10, 16が指定可能。0の場合の挙動はstd::strtol 関数と同様 |
0 | 成功した場合 |
ELISEQ | 数値の途中で不正な文字を検出した場合 |
EINVAL | v がNULL である場合 |
ERANGE | オーバーフロー又はアンダーフローが発生した場合 |
ENOTSUP | base が0, 8, 10, 16以外の場合 |
StringView.h の 234 行目に定義があります。
|
inlinenoexcept |
文字列を整数に変換します。
[out] | v | 数値が格納されるへのポインタ |
[out] | idx | 読み込んだ文字数が格納されるポインタ |
[in] | base | 基数。0, 8, 10, 16が指定可能。0の場合の挙動はstd::strtol 関数と同様 |
0 | 成功した場合 |
ELISEQ | 数値の途中で不正な文字を検出した場合 |
EINVAL | v がNULL である場合 |
ERANGE | オーバーフロー又はアンダーフローが発生した場合 |
ENOTSUP | base が0, 8, 10, 16以外の場合 |
StringView.h の 244 行目に定義があります。
|
inlinenoexcept |
文字列を整数に変換します。
[out] | v | 数値が格納されるへのポインタ |
[out] | idx | 読み込んだ文字数が格納されるポインタ |
[in] | base | 基数。0, 8, 10, 16が指定可能。0の場合の挙動はstd::strtol 関数と同様 |
0 | 成功した場合 |
ELISEQ | 数値の途中で不正な文字を検出した場合 |
EINVAL | v がNULL である場合 |
ERANGE | オーバーフロー又はアンダーフローが発生した場合 |
ENOTSUP | base が0, 8, 10, 16以外の場合 |
StringView.h の 254 行目に定義があります。
|
inlinenoexcept |
文字列を整数に変換します。
[out] | v | 数値が格納されるへのポインタ |
[out] | idx | 読み込んだ文字数が格納されるポインタ |
[in] | base | 基数。0, 8, 10, 16が指定可能。0の場合の挙動はstd::strtol 関数と同様 |
0 | 成功した場合 |
ELISEQ | 数値の途中で不正な文字を検出した場合 |
EINVAL | v がNULL である場合 |
ERANGE | オーバーフロー又はアンダーフローが発生した場合 |
ENOTSUP | base が0, 8, 10, 16以外の場合 |
StringView.h の 264 行目に定義があります。
|
noexcept |
文字列の先頭の空白を切り詰めます。
true
|
noexcept |
文字列の末尾の空白を切り詰めます。
true
© 2012-2017 Nintendo Co., Ltd. All rights reserved.