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);
}