+#ifdef __GNUG__
+#pragma implementation
+#endif
+
#include <config.h>
#include "math_mathmlstream.h"
using std::ostream;
using std::strlen;
+namespace {
+
+ bool isAlpha(char c)
+ {
+ return ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z');
+ }
+
+}
WriteStream::WriteStream(ostream & os, bool fragile, bool latex)
: os_(os), fragile_(fragile), firstitem_(false), latex_(latex),
void WriteStream::pendingSpace(bool how)
{
- if (how)
- os_ << ' ';
pendingspace_ = how;
}
WriteStream & operator<<(WriteStream & ws, char const * s)
{
- if (ws.pendingSpace()) {
- lyxerr << "writing a space in a string\n";
- ws.os() << ' ';
+ if (ws.pendingSpace() && strlen(s) > 0) {
+ if (isAlpha(s[0]))
+ ws.os() << ' ';
ws.pendingSpace(false);
}
ws.os() << s;
WriteStream & operator<<(WriteStream & ws, char c)
{
if (ws.pendingSpace()) {
- //if (isalpha(c))
- // ws.os() << ' ';
- if (!isalpha(c)) {
- lyxerr << "I'd like to suppress writing a space\n";
- }
- ws.os() << ' ';
+ if (isAlpha(c))
+ ws.os() << ' ';
ws.pendingSpace(false);
}
ws.os() << c;
}
-
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
+MaximaStream & operator<<(MaximaStream & ms, MathAtom const & at)
+{
+ at->maximize(ms);
+ return ms;
+}
+
+
+MaximaStream & operator<<(MaximaStream & ms, MathArray const & ar)
+{
+ maximize(ar, ms);
+ return ms;
+}
+
+
+MaximaStream & operator<<(MaximaStream & ms, char const * s)
+{
+ ms.os() << s;
+ return ms;
+}
+
+
+MaximaStream & operator<<(MaximaStream & ms, char c)
+{
+ ms.os() << c;
+ return ms;
+}
+
+
+MaximaStream & operator<<(MaximaStream & ms, int i)
+{
+ ms.os() << i;
+ return ms;
+}
+
+
+//////////////////////////////////////////////////////////////////////
+
+
MathematicaStream & operator<<(MathematicaStream & ms, MathAtom const & at)
{
at->mathematicize(ms);
//////////////////////////////////////////////////////////////////////
-