}
-otexstream & operator<<(otexstream & ots, SetEnc e)
-{
- ots.os() << e;
- ots.canBreakLine(true);
- ots.protectSpace(false);
- return ots;
-}
-
-
otexstream & operator<<(otexstream & ots, docstring const & s)
{
size_t const len = s.length();
}
-otexstream & operator<<(otexstream & ots, double d)
-{
- ots.os() << d;
- ots.canBreakLine(true);
- ots.protectSpace(false);
- return ots;
-}
-
-
-otexstream & operator<<(otexstream & ots, int i)
+template <typename Type>
+otexstream & operator<<(otexstream & ots, Type value)
{
- ots.os() << i;
+ ots.os() << value;
ots.canBreakLine(true);
ots.protectSpace(false);
return ots;
}
-
-otexstream & operator<<(otexstream & ots, unsigned int i)
-{
- ots.os() << i;
- ots.canBreakLine(true);
- ots.protectSpace(false);
- return ots;
-}
+template otexstream & operator<< <SetEnc>(otexstream & os, SetEnc);
+template otexstream & operator<< <double>(otexstream &, double);
+template otexstream & operator<< <int>(otexstream &, int);
+template otexstream & operator<< <unsigned int>(otexstream &, unsigned int);
+template otexstream & operator<< <unsigned long>(otexstream &, unsigned long);
}
///
void protectSpace(bool protectspace) { protectspace_ = protectspace; }
///
- bool protectSpace() const { return protectspace_; };
+ bool protectSpace() const { return protectspace_; }
private:
///
odocstream & os_;
///
otexstream & operator<<(otexstream &, char);
///
-otexstream & operator<<(otexstream &, double);
-///
-otexstream & operator<<(otexstream &, int);
-///
-otexstream & operator<<(otexstream &, unsigned int);
+template <typename Type>
+otexstream & operator<<(otexstream & ots, Type value);
/// Helper struct for changing stream encoding
struct SetEnc {
\endcode
*/
odocstream & operator<<(odocstream & os, SetEnc e);
-otexstream & operator<<(otexstream & os, SetEnc e);
idocstream & operator<<(idocstream & os, SetEnc e);
}