std::operator>>
The function template std::operator>> allows Extensible Ranges and Tuple-Like objects to be extracted from standard input streams, according to the formatting options specified using boost::io::punctuate.
<boost/iostreams/format_lite.hpp>namespace std { // Note: enabled only for certain values of Extractable (see below) template<typename Ch, typename Tr, typename Extractable> std::basic_istream<Ch, Tr>& operator>>(std::basic_istream<Ch, Tr>& in, const Extractable& e); } // End namespace std
| Ch | - | A standard library character type |
| Tr | - | A standard library character traits type, with Tr::char_type equal to Ch |
| Extractable | - | A type modeling Extractable (see Description). |
| in | - | An input stream |
| e | - | The range or tuple-like object to be extracted from in |
Reads the given range or tuple-like object from the given input stream, using the punctuation sequence which best matches the type Extractable. (See puntuate.)
This overload of std::operator>> is enabled only for values of Extractable which satisfy the boolean metafunctions is_extensible_range or boost::io::is_tuple_like. Ideally, any type modelling Extensible Range or Tuple-Like would be permitted as a template argument, but these concepts cannot be defined precisely enough in the current language to allow a suitable enabler to be defined. (See enable_if.) Therefore, we must depend on users to specialize the templatess boost::io::is_extensible_range and boost::io::is_tuple_like when necessary.
[To do: provide a more detailed specification.]
Revised 20 May, 2004
© Copyright Jonathan Turkanis, 2004
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Sha'arei Tefila, an Orthodox Shul (Synagogue) in Salt Lake City, Utah Chabad Lubavitch of Utah