num_get::do_get

文字のシーケンスから抽出する数値またはブール値という名前の仮想関数。

virtual iter_type do_get(
    iter_type _First,
    iter_type _Last,
    ios_base& _Iosbase,
    ios_base::iostate& _State,
    long& _Val
) const;virtual iter_type do_get(
    iter_type _First,
    iter_type _Last,
    ios_base& _Iosbase,
    ios_base::iostate& _State,
    unsigned short& _Val
) const;
virtual iter_type do_get(
    iter_type _First,
    iter_type _Last,
    ios_base& _Iosbase,
    ios_base::iostate& _State,
    unsigned int& _Val
) const;
virtual iter_type do_get(
    iter_type _First,
    iter_type _Last,
    ios_base& _Iosbase,
    ios_base::iostate& _State,
    unsigned long& _Val
) const;
virtual iter_type do_get(
    iter_type _First, 
    iter_type _Last,
    ios_base& _Iosbase, 
    ios_base::iostate& _State,
    long long& _Val
) const;
virtual iter_type do_get(
    iter_type _First, 
    iter_type _Last,
    ios_base& _Iosbase, 
    ios_base::iostate& _State,
    unsigned long long& _Val
) const;
virtual iter_type do_get(
    iter_type _First,
    iter_type _Last,
    ios_base& _Iosbase,
    ios_base::iostate& _State,
    float& _Val
) const;
virtual iter_type do_get(
    iter_type _First,
    iter_type _Last,
    ios_base& _Iosbase,
    ios_base::iostate& _State,
    double& _Val
) const;
virtual iter_type do_get(
    iter_type _First,
    iter_type _Last,
    ios_base& _Iosbase,
    ios_base::iostate& _State,
    long double& _Val
) const;
virtual iter_type do_get(
    iter_type _First,
    iter_type _Last,
    ios_base& _Iosbase,
    ios_base::iostate& _State,
    void *& _Val
) const;
virtual iter_type do_get(
    iter_type _First,
    iter_type _Last,
    ios_base& _Iosbase,
    ios_base::iostate& _State,
    bool& _Val
) const;

パラメーター

  • _First
    数値を読み取る文字の範囲の先頭。

  • _Last
    数値を読み取る文字の範囲の最後。

  • _Iosbase
    フラグが変換で使用される ios_base

  • _State
    failbit が失敗に ios_base::iostate (を参照) 追加された状態。

  • _Val
    読み取られた値。

戻り値

値が読み取られた後、反復子。

解説

最初の仮想で保護されたメンバー関数は、

virtual iter_type do_get(

iter_type _First,

iter_type _Last,

ios_base& _Iosbase,

ios_base::iostate& _State,

long& _Val

) const;

完全で、空でない整数の入力フィールドを検証するまでシーケンス [_First,_Last) の _First で始まる連続要素に一致します。成功すると、型 long, として対応するこのフィールドを変換し、_Valに格納されます。これは、数値入力フィールドを超える最初の要素を指定する反復子を返します。それ以外の場合、関数は _Val で何も格納しません。stateの ios_base::failbit を設定します。これは有効な整数の入力フィールドの任意のプレフィックスを超える最初の要素を指定する反復子を返します。どちらの場合も、戻り値が lastに等しい場合、関数は stateの ios_base::eofbit を設定します。

整数の入力フィールドは char の一連の要素と一致すること、および変換する処理関数で使用されるファイルから同じ規則によって変換されます。( char のそのような各要素は単純によって型 Elem の同等の要素にマップすると、1 対 1 解釈され、マップします。) 同等の走査変換の指定は次のように決定されます:

iosbase.ios_base::flags() & ios_base::basefield == ios_base::[10月]が、変換 lo仕様の場合は。

iosbase.flags() & ios_base::basefield == ios_base::hexが、変換 lx仕様の場合は。

iosbase.flags() & ios_base::basefield == 0が、変換 li仕様の場合は。

それ以外の場合、変換は ld仕様です。

整数の入力フィールドの形式は、呼び出し use_facet<numpunct<Elem>(iosbase.ios_base::getloc())によって返される ロケールのファセットfac により、決まります。具体的には、以下の警告があります。

数字は、小数点の左側にグループ化する方法をfac.numpunct::grouping() が決まります。

fac.numpunct::thousands_sep() は、小数点の左側に数字のグループを区切るシーケンスを決定します。

fac.thousands_sep() のインスタンスが数値入力フィールドで実行、グループの制約は課されません。それ以外 fac.grouping() によるグループの制約が適用され、スキャンの変換が発生する前に区切り記号は削除されます。

4 番目の仮想で保護されたメンバー関数は:

virtual iter_type do_get(

iter_type _First,

iter_type _Last,

ios_base& _Iosbase,

ios_base::iostate& _State,

unsigned long& _Val

) const;

1 番目のと同様に動作します。ただし、luと ld 変換の指定を置き換えます。_Valで評価するストア unsigned long 型の値およびそれが数値入力フィールドの変換に成功した場合は。

5 番目の仮想で保護されたメンバー関数は:

virtual iter_type do_get(

iter_type _First,

iter_type _Last,

ios_base& _Iosbase,

ios_base::iostate& _State,

long long& _Val

) const;

1 番目のと同様に動作します。ただし、lldと ld 変換の指定を置き換えます。_Valで評価するストア long long 型の値およびそれが数値入力フィールドの変換に成功した場合は。

6 番目の仮想で保護されたメンバー関数は:

virtual iter_type do_get(

iter_type _First,

iter_type _Last,

ios_base& _Iosbase,

ios_base::iostate& _State,

unsigned long long& _Val

) const;

1 番目のと同様に動作します。ただし、lluと ld 変換の指定を置き換えます。_Valで評価するストア unsigned long long 型の値およびそれが数値入力フィールドの変換に成功した場合は。

7 番目の仮想で保護されたメンバー関数は:

virtual iter_type do_get(

iter_type _First,

iter_type _Last,

ios_base& _Iosbase,

ios_base::iostate& _State,

float& _Val

) const;

1 番目のと同様に動作しますが、完全で、空でない浮動小数点入力フィールドに一致するように努めています。fac.numpunct::decimal_point() には、小数桁の整数小数部をシーケンスを決定します。同等の走査の変換の指定子は lfです。

8 番目の仮想で保護されたメンバー関数は:

virtual iter_type do_get(

iter_type _First,

iter_type _Last,

ios_base& _Iosbase,

ios_base::iostate& _State,

double& _Val

) const;

1 番目のと同様に動作しますが、完全で、空でない浮動小数点入力フィールドに一致するように努めています。fac.numpunct::decimal_point() には、小数桁の整数小数部をシーケンスを決定します。同等の走査の変換の指定子は lfです。

9 番目の仮想で保護されたメンバー関数は:

virtual iter_type do_get(

iter_type _First,

iter_type _Last,

ios_base& _Iosbase,

ios_base::iostate& _State,

long double& _Val

) const;

8 番目のと同様に動作しますが、同等の走査の変換の指定子は Lfです。

9 番目の仮想で保護されたメンバー関数は:

virtual iter_type do_get(

iter_type _First,

iter_type _Last,

ios_base& _Iosbase,

ios_base::iostate& _State,

void *& _Val

) const;

1 番目の同様に動作しますが、同等の走査の変換の指定子は pです。

最後の 11 番目の仮想 () によって保護されたメンバー関数は:

virtual iter_type do_get(

iter_type _First,

iter_type _Last,

ios_base& _Iosbase,

ios_base::iostate& _State,

bool& _Val

) const;

1 番目のと同様に動作しますが、完全で、空でなく、ブール型の入力フィールドに一致するようにコミットします。_Valで評価するストア bool 型の値に、そのがブール型の入力フィールドの変換に成功した場合は。

ブール型の入力フィールドには、2 種類のフォームから 1 を受け取ります。iosbase.flags() & ios_base::boolalpha が false の場合、整数の入力フィールドと同じです。ただし、変換された値は 0 (false の場合) または 1 にする必要があります (該当する場合)。それ以外の場合は、シーケンスが fac.numpunct::falsename() (false の場合)、fac.numpunct::truename() に一致する (該当する場合)。

使用例

仮想メンバー関数が do_getによって呼び出されます 取得します。の例を参照してください。

必要条件

ヘッダー: <locale>

名前空間: std

参照

関連項目

num_get Class