3 #include "math_mathmlstream.h"
4 #include "math_inset.h"
5 #include "math_extern.h"
7 #include "support/lyxalgo.h"
14 MathMLStream::MathMLStream(ostream & os)
15 : os_(os), tab_(0), line_(0), lastchar_(0)
19 MathMLStream & operator<<(MathMLStream & ms, MathInset const * p)
24 lyxerr << "operator<<(MathMLStream, NULL) called\n";
29 MathMLStream & operator<<(MathMLStream & ms, MathArray const & ar)
36 MathMLStream & operator<<(MathMLStream & ms, char const * s)
43 MathMLStream & operator<<(MathMLStream & ms, char c)
50 MathMLStream & operator<<(MathMLStream & ms, MTag const & t)
54 ms.os() << '<' << t.tag_ << '>';
59 MathMLStream & operator<<(MathMLStream & ms, ETag const & t)
64 ms.os() << "</" << t.tag_ << '>';
69 void MathMLStream::cr()
72 for (int i = 0; i < tab(); ++i)
78 //////////////////////////////////////////////////////////////////////
81 MapleStream & operator<<(MapleStream & ms, MathInset const * p)
86 lyxerr << "operator<<(MapleStream, NULL) called\n";
91 MapleStream & operator<<(MapleStream & ms, MathArray const & ar)
98 MapleStream & operator<<(MapleStream & ms, char const * s)
105 MapleStream & operator<<(MapleStream & ms, char c)
112 MapleStream & operator<<(MapleStream & ms, int i)
119 //////////////////////////////////////////////////////////////////////
122 MathematicaStream & operator<<(MathematicaStream & ms, MathInset const * p)
125 p->mathematicize(ms);
127 lyxerr << "operator<<(MathematicaStream, NULL) called\n";
132 MathematicaStream & operator<<(MathematicaStream & ms, MathArray const & ar)
134 mathematicize(ar, ms);
139 MathematicaStream & operator<<(MathematicaStream & ms, char const * s)
146 MathematicaStream & operator<<(MathematicaStream & ms, char c)
153 MathematicaStream & operator<<(MathematicaStream & ms, int i)
161 //////////////////////////////////////////////////////////////////////
164 OctaveStream & operator<<(OctaveStream & ns, MathInset const * p)
169 lyxerr << "operator<<(OctaveStream, NULL) called\n";
174 OctaveStream & operator<<(OctaveStream & ns, MathArray const & ar)
181 OctaveStream & operator<<(OctaveStream & ns, char const * s)
188 OctaveStream & operator<<(OctaveStream & ns, char c)
195 OctaveStream & operator<<(OctaveStream & ns, int i)
202 //////////////////////////////////////////////////////////////////////
205 NormalStream & operator<<(NormalStream & ns, MathInset const * p)
210 lyxerr << "operator<<(NormalStream, NULL) called\n";
215 NormalStream & operator<<(NormalStream & ns, MathArray const & ar)
222 NormalStream & operator<<(NormalStream & ns, char const * s)
229 NormalStream & operator<<(NormalStream & ns, char c)
236 NormalStream & operator<<(NormalStream & ns, int i)
244 //////////////////////////////////////////////////////////////////////
247 WriteStream::WriteStream(ostream & os, bool fragile, bool latex)
248 : os_(os), fragile_(fragile), latex_(latex), firstitem_(false), line_(0)
252 WriteStream::WriteStream(ostream & os)
253 : os_(os), fragile_(false), latex_(false), firstitem_(false), line_(0)
257 void WriteStream::addlines(unsigned int n)
263 WriteStream & operator<<(WriteStream & ws, MathInset const * p)
268 lyxerr << "operator<<(WriteStream, NULL) called\n";
273 WriteStream & operator<<(WriteStream & ws, MathArray const & ar)
280 WriteStream & operator<<(WriteStream & ws, char const * s)
283 ws.addlines(int(lyx::count(s, s+strlen(s), '\n')));
288 WriteStream & operator<<(WriteStream & ws, char c)
297 WriteStream & operator<<(WriteStream & ws, int i)
304 WriteStream & operator<<(WriteStream & ws, unsigned int i)