As in the case of the inserters, these extractors depend on the
locale's
num_get<> object to perform parsing the input
stream data
. After a sentry object is constructed, the
conversion occurs as if performed by the following code fragment,
where state represents the input function's local error state:
using numget = num_get<charT, istreambuf_iterator<charT, traits>>;
use_facet<numget>(loc).get(*this, 0, *this, state, val);
In the above fragment,
loc
stands for the private member of the
basic_ios
class
. [
Note 1:
The first argument provides an object of the
istreambuf_iterator
class which is an iterator pointed to an input stream
. It bypasses istreams and uses streambufs directly
. —
end note]
Class
locale
relies on this
type as its interface to
istream,
so that it does not need to depend directly on
istream.