3 #include "math_mathmlstream.h"
4 #include "math_inset.h"
5 #include "math_extern.h"
6 #include "support/lyxalgo.h"
7 #include "support/LOstream.h"
14 MathMLStream::MathMLStream(ostream & os)
15 : os_(os), tab_(0), line_(0), lastchar_(0)
19 MathMLStream & operator<<(MathMLStream & ms, MathAtom const & at)
26 MathMLStream & operator<<(MathMLStream & ms, MathArray const & ar)
33 MathMLStream & operator<<(MathMLStream & ms, char const * s)
40 MathMLStream & operator<<(MathMLStream & ms, char c)
47 MathMLStream & operator<<(MathMLStream & ms, MTag const & t)
51 ms.os() << '<' << t.tag_ << '>';
56 MathMLStream & operator<<(MathMLStream & ms, ETag const & t)
61 ms.os() << "</" << t.tag_ << '>';
66 void MathMLStream::cr()
69 for (int i = 0; i < tab(); ++i)
75 //////////////////////////////////////////////////////////////////////
78 MapleStream & operator<<(MapleStream & ms, MathAtom const & at)
85 MapleStream & operator<<(MapleStream & ms, MathArray const & ar)
92 MapleStream & operator<<(MapleStream & ms, char const * s)
99 MapleStream & operator<<(MapleStream & ms, char c)
106 MapleStream & operator<<(MapleStream & ms, int i)
113 //////////////////////////////////////////////////////////////////////
116 MathematicaStream & operator<<(MathematicaStream & ms, MathAtom const & at)
118 at->mathematicize(ms);
123 MathematicaStream & operator<<(MathematicaStream & ms, MathArray const & ar)
125 mathematicize(ar, ms);
130 MathematicaStream & operator<<(MathematicaStream & ms, char const * s)
137 MathematicaStream & operator<<(MathematicaStream & ms, char c)
144 MathematicaStream & operator<<(MathematicaStream & ms, int i)
152 //////////////////////////////////////////////////////////////////////
155 OctaveStream & operator<<(OctaveStream & ns, MathAtom const & at)
162 OctaveStream & operator<<(OctaveStream & ns, MathArray const & ar)
169 OctaveStream & operator<<(OctaveStream & ns, char const * s)
176 OctaveStream & operator<<(OctaveStream & ns, char c)
183 OctaveStream & operator<<(OctaveStream & ns, int i)
190 //////////////////////////////////////////////////////////////////////
193 NormalStream & operator<<(NormalStream & ns, MathAtom const & at)
200 NormalStream & operator<<(NormalStream & ns, MathArray const & ar)
207 NormalStream & operator<<(NormalStream & ns, char const * s)
214 NormalStream & operator<<(NormalStream & ns, char c)
221 NormalStream & operator<<(NormalStream & ns, int i)
229 //////////////////////////////////////////////////////////////////////
232 WriteStream::WriteStream(ostream & os, bool fragile, bool latex)
233 : os_(os), fragile_(fragile), latex_(latex), firstitem_(false), line_(0)
237 WriteStream::WriteStream(ostream & os)
238 : os_(os), fragile_(false), latex_(false), firstitem_(false), line_(0)
242 void WriteStream::addlines(unsigned int n)
248 WriteStream & operator<<(WriteStream & ws, MathAtom const & at)
255 WriteStream & operator<<(WriteStream & ws, MathArray const & ar)
262 WriteStream & operator<<(WriteStream & ws, char const * s)
265 ws.addlines(int(lyx::count(s, s + strlen(s), '\n')));
270 WriteStream & operator<<(WriteStream & ws, char c)
279 WriteStream & operator<<(WriteStream & ws, int i)
286 WriteStream & operator<<(WriteStream & ws, unsigned int i)