/// BaseStream - Acts like the STL streams. It's a wrapper for the std::cerr,
/// std::cout, std::cin, etc. streams. However, it doesn't require #including
- /// <iostream> in every file (doing so increases static c'tors & d'tors in the
- /// object code).
+ /// @verbatim <iostream> @endverbatm in every file (doing so increases static
+ /// c'tors & d'tors in the object code).
///
template <typename StreamTy>
class BaseStream {
return *this;
}
+ operator StreamTy* () { return Stream; }
+
bool operator == (const StreamTy &S) { return &S == Stream; }
bool operator != (const StreamTy &S) { return !(*this == S); }
bool operator == (const BaseStream &S) { return S.Stream == Stream; }
typedef BaseStream<std::istream> IStream;
typedef BaseStream<std::stringstream> StringStream;
- extern OStream NullStream;
extern OStream cout;
extern OStream cerr;
extern IStream cin;