Synopsis

namespace std {
template<class E, class T = char_traits<E> >
    class basic_istream;
typedef basic_istream<char, char_traits<char> >
    istream;
typedef basic_istream<wchar_t, char_traits<wchar_t> >
    wistream;
template<class E, class T = char_traits<E> >
    class basic_iostream;
typedef basic_iostream<char, char_traits<char> >
    iostream;
typedef basic_iostream<wchar_t, char_traits<wchar_t> >
    wiostream;

        // EXTRACTORS
template<class E, class T>
    basic_istream<E, T>&
        operator>>(basic_istream<E, T>& is, E *s);
template<class E, class T>
    basic_istream<E, T>&
        operator>>(basic_istream<E, T>& is, E& c);
template<class T>
    basic_istream<char, T>&
        operator>>(basic_istream<char, T>& is,
            signed char *s);
template<class T>
    basic_istream<char, T>&
        operator>>(basic_istream<char, T>& is,
            signed char& c);
template<class T>
    basic_istream<char, T>&
        operator>>(basic_istream<char, T>& is,
            unsigned char *s);
template<class T>
    basic_istream<char, T>&
        operator>>(basic_istream<char, T>& is,
            unsigned char& c);

        // MANIPULATORS
template class<E, T>
    basic_istream<E, T>& ws(basic_istream<E, T>& is);
    }