<ostream>

<ostream>

namespace std {
    template<class E, class T = char_traits<E> >
        class basic_ostream;
    typedef basic_ostream<char, char_traits<char> > ostream;
    typedef basic_ostream<wchar_t, char_traits<wchar_t> > wostream;
//      INSERTERS
    template<class E, class T>
        basic_ostream<E, T>& operator<<(basic_ostream<E, T> os, const E *s);
    template<class E, class T>
        basic_ostream<E, T>& operator<<(basic_ostream<E, T> os, E c);
    template<class T>
        basic_ostream<char, T>& operator<<(basic_ostream<char, T> os, const signed char *s);
    template<class T>
        basic_ostream<char, T>& operator<<(basic_ostream<char, T> os, signed char c);
    template<class T>
        basic_ostream<char, T>& operator<<(basic_ostream<char, T> os, const unsigned char *s);
    template<class T>
        basic_ostream<char, T>& operator<<(basic_ostream<char, T> os, unsigned char c);
//      MANIPULATORS
    template class<E, T>
        basic_ostream<E, T>& endl(basic_ostream<E, T> os);
    template class<E, T>
        basic_ostream<E, T>& ends(basic_ostream<E, T> os);
    template class<E, T>
        basic_ostream<E, T>& flush(basic_ostream<E, T> os);
    };

Include the iostreams standard header <ostream> to define template class basic_ostream, which mediates extractions for the iostreams classes. The header also defines several related manipulators. (This header is typically included for you by another of the iostreams headers. You seldom have occasion to include it directly.)