Function Template std::operator>>

Overview
Headers
Reference
Synopsis
Template Parameters
Function Parameters
Description

Overview

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.

Headers

<boost/iostreams/format_lite.hpp>

Reference

Synopsis

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

Template Parameters

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).

Function Parameters

in- An input stream
e- The range or tuple-like object to be extracted from in

Description

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.]


Sha'arei Tefila, an Orthodox Shul (Synagogue) in Salt Lake City, Utah Chabad Lubavitch of Utah