+ code.
+ */
+
+class otexrowstream {
+public:
+ ///
+ otexrowstream(odocstream & os, TexRow & texrow)
+ : os_(os), texrow_(texrow) {}
+ ///
+ odocstream & os() { return os_; }
+ ///
+ TexRow & texrow() { return texrow_; }
+ ///
+ void put(char_type const & c);
+ ///
+ void append(docstring const &, TexRow const &);
+private:
+ ///
+ odocstream & os_;
+ ///
+ TexRow & texrow_;
+};
+
+///
+otexrowstream & operator<<(otexrowstream &, odocstream_manip);
+///
+otexrowstream & operator<<(otexrowstream &, docstring const &);
+///
+otexrowstream & operator<<(otexrowstream &, std::string const &);
+///
+otexrowstream & operator<<(otexrowstream &, char const *);
+///
+otexrowstream & operator<<(otexrowstream &, char);
+///
+template <typename Type>
+otexrowstream & operator<<(otexrowstream & ots, Type value);
+
+
+/** Subclass for otexrowstream.
+ This class is used to ensure that no blank lines may be inadvertently output.