num_get::do_get
Funkcja wirtualnego nosi do ekstraktów wartości liczbowych lub logicznych z sekwencji znaków.
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;
Parametry
_First
Początek zakresu znaków, z którego można odczytać liczbę._Last
Koniec zakresu znaków, z którego odczytanie liczby._Iosbase
Ios_base których flagi są używane przez konwersji._State
Państwo, do którego failbit (zobacz ios_base::iostate) dodaje się po awarii._Val
Wartość, która została odczytana.
Wartość zwracana
Iteratora po przeczytaniu wartość.
Uwagi
Pierwsza funkcja wirtualnego chroniony członek
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
long& _Val
) const;
Dopasowuje kolejne elementy, począwszy od _First w sekwencji [_First, _Last) aż rozpoznał kompletne, całkowitą niepusty wejściowe pole.Jeśli pomyślne, to konwertuje to pole jej równoważnej wartości, jako typ long, i zapisuje wynik w _Val.Zwraca iterację wyznaczające pierwszy element poza numeryczne pole wejściowe.W przeciwnym wypadku funkcja przechowuje nic w _Val i ios_base::failbit w state.Zwraca iterację wyznaczające pierwszy element poza każdy prefiks pole wejściowe prawidłową liczbą całkowitą.W przypadku, jeśli wartość zwracana jest równe last, zestawy funkcji ios_base::eofbit w state.
Pole wejściowe całkowitą jest konwertowany na takie same zasady stosowane przez funkcje skanowania dopasowywania i konwersji szeregu char elementów z pliku.(Każdego takiego char mapowania do elementu typu równoważne zakłada, że element Elem przez proste, jeden do jednego, mapowanie.) Specyfikacja konwersji równoważne skanowania jest ustalana w następujący sposób:
If iosbase.ios_base::flags() & ios_base::basefield == ios_base::oct, the conversion specification is lo.
Jeśli iosbase.flags() & ios_base::basefield == ios_base::hex, specyfikacja konwersji jest lx.
Jeśli iosbase.flags() & ios_base::basefield == 0, specyfikacja konwersji jest li.
W przeciwnym razie specyfikacja konwersji jest ld.
Format pola wejściowego całkowitą dalsze ustalona przez locale aspektfac zwrócony przez wywołanie use_facet <numpunct<Elem>(iosbase. ios_base::getloc()).W szczególności:
fac.numpunct::grouping()Określa sposób grupowania cyfr po lewej stronie przecinka wszelkich
fac.numpunct::thousands_sep()Określa sekwencję, oddzielający grup cyfr po lewej stronie dowolnego przecinka dziesiętnego.
Jeśli nie wystąpienia fac.thousands_sep() występują w numeryczne pole wejściowe jest nałożone nie ograniczenie grupowania.W przeciwnym razie grupowania ograniczenia nałożone przez fac.grouping() są wymuszane i separatory są usuwane, zanim nastąpi konwersja skanowania.
Czwarty funkcji wirtualnych chroniony członek:
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
unsigned long& _Val
) const;
zachowuje się tak samo, jak pierwszy, chyba że zastępuje ona specyfikacja konwersji ld z lu.Jeśli pomyślne go konwertuje wejściowe pole liczbowe wartości typu unsigned long i zapisanie tej wartości w _Val.
Funkcja wirtualnego chroniony członek piąty:
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
long long& _Val
) const;
zachowuje się tak samo, jak pierwszy, chyba że zastępuje ona specyfikacja konwersji ld z lld.Jeśli pomyślne go konwertuje wejściowe pole liczbowe wartości typu long long i zapisanie tej wartości w _Val.
Szósty funkcji wirtualnych chroniony członek:
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
unsigned long long& _Val
) const;
zachowuje się tak samo, jak pierwszy, chyba że zastępuje ona specyfikacja konwersji ld z llu.Jeśli pomyślne go konwertuje wejściowe pole liczbowe wartości typu unsigned long long i zapisanie tej wartości w _Val.
Siódmy funkcji wirtualnych chroniony członek:
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
float& _Val
) const;
zachowuje się tak samo, jak pierwszy, z wyjątkiem go usiłują kompletne, niepuste pole wejściowe zmiennoprzecinkowe zgodne.fac.numpunct::decimal_point()Określa sekwencję, oddzielający cyfr całkowitą od cyfry ułamka.Specyfikator konwersji równoważne skanowania jest lf.
Ósmy funkcji wirtualnych chroniony członek:
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
double& _Val
) const;
zachowuje się tak samo, jak pierwszy, z wyjątkiem go usiłują kompletne, niepuste pole wejściowe zmiennoprzecinkowe zgodne.fac.numpunct::decimal_point()Określa sekwencję, oddzielający cyfr całkowitą od cyfry ułamka.Specyfikator konwersji równoważne skanowania jest lf.
Dziewiąty funkcji wirtualnych chroniony członek:
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
long double& _Val
) const;
zachowuje się taki sam, jak ósma, z wyjątkiem specyfikatora konwersji równoważne skanowania Lf.
Dziewiąty funkcji wirtualnych chroniony członek:
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
void *& _Val
) const;
działa tak samo pierwszy, z wyjątkiem, że specyfikatora konwersji równoważne skanowania p.
Ostatni funkcji członek chroniony (jedenasta) wirtualnego:
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
ios_base& _Iosbase,
ios_base::iostate& _State,
bool& _Val
) const;
zachowuje się tak samo, jak pierwszy, z wyjątkiem go usiłują odpowiadają kompletne, niepuste pole wprowadzania wartości logicznych.Jeżeli pomyślnie go konwertuje wejściowe pole logiczne wartości typu bool i zapisanie tej wartości w _Val.
Pole wejściowe logiczne przyjmuje jedną z dwóch form.Jeśli iosbase.flags() & ios_base::boolalpha ma wartość false, jest taki sam, jak pole wejściowe całkowitą, z wyjątkiem, że konwertowaną wartość musi być 0 (FAŁSZ) lub 1 (PRAWDA).W przeciwnym razie musi odpowiadać sekwencji albo fac.numpunct::falsename() (na FAŁSZ) lub fac.numpunct::truename() (na PRAWDA).
Przykład
Zobacz przykład dla uzyskać, gdzie funkcja członka wirtualnego jest wywoływana przez do_get.
Wymagania
Nagłówek: <locale>
Obszar nazw: std