return std::string("AlienPiece");
}
-AlienPart::AlienPart(Store * const _store): store(_store) {}
+std::string AlienPiece::toPlainText() {
+ return std::string();
+}
+
+AlienPart::AlienPart(Store * const store): d_store(store) {}
std::string AlienPart::toString() {
- if (store != 0)
- return store->toString();
+ if (d_store != 0)
+ return d_store->toString();
else
return "NULL";
}
+std::string AlienPart::toPlainText() {
+ if (d_store != 0)
+ return d_store->toPlainText();
+ else
+ return std::string();
+}
+
Alien::Alien(INTEGER id, const TypePath &path): Store(id), d_path(path), d_comps() {}
std::vector<AlienComponent*> & Alien::getComponents() {
return sofar + "}";
}
+std::string Alien::toPlainText() {
+ std::string sofar = std::string();
+ for (int i = 0; i < d_comps.size(); ++i) {
+ sofar += d_comps[i]->toPlainText();
+ }
+ return sofar;
+}
+
}
*/
struct AlienComponent {
virtual std::string toString() = 0;
+ virtual std::string toPlainText() = 0;
};
/**
AlienPiece(const char * const data, const size_t len);
virtual std::string toString();
+ virtual std::string toPlainText();
};
/**
* Store component of an alien store
*/
struct AlienPart : public AlienComponent {
- Store * const store;
+ Store * const d_store;
- AlienPart(Store * const _store);
+ AlienPart(Store * const store);
virtual std::string toString();
+ virtual std::string toPlainText();
};
class Alien : public Store {
// comps-: AlienComp (** the constituent components of this alien store **)
virtual std::string toString();
+ virtual std::string toPlainText();
};
}
if (d_hidden == 0) {
return std::string("Fold(right)");
}
- return std::string("Fold(left)") + std::string(" { ") + d_hidden->toString() + std::string(" }");
+ return std::string("Fold(left) \"") + std::string(d_label) + std::string("\" { ") + d_hidden->toString() + std::string(" }");
+}
+
+std::string Fold::toPlainText() {
+ if (d_hidden == 0) {
+ return std::string();
+ }
+ return std::string(d_label) + std::string("\n") + d_hidden->toPlainText();
}
} // namespace odc
virtual void internalize(Reader &reader);
virtual std::string toString();
+ virtual std::string toPlainText();
};
}
}
std::ifstream in(argv[1], std::ios::in | std::ios::binary);
odc::Store* s = odc::importDocument(in);
- std::cout << std::endl << std::endl;
+// std::cout << s->toPlainText() << std::endl;
+// std::cout << std::endl << std::endl;
std::cout << s->toString() << std::endl;
- std::cout << in.tellg() << " " << in.eof() << std::endl;
+// std::cout << in.tellg() << " " << in.eof() << std::endl;
- odc::TypePath path;
- odc::ContainerModel(0).getTypePath(&path);
- std::cout << path.toString() << std::endl;
+// odc::TypePath path;
+// odc::ContainerModel(0).getTypePath(&path);
+// std::cout << path.toString() << std::endl;
return 0;
}
return getTypeName();
}
+std::string Store::toPlainText() {
+ return std::string();
+}
+
const std::string Elem::TYPENAME("Stores.Elem^");
const TypeProxy<Elem> Elem::PROXY;
// FIXME
virtual std::string toString();
+ virtual std::string toPlainText();
private:
void calcTypePath(TypePath * out, const std::string &name) const;
return sofar + "}";
}
+std::string StdTextModel::toPlainText() {
+ std::string sofar = "";
+ for (int i = 0; i < d_pieces.size(); ++i) {
+ sofar += d_pieces[i]->toPlainText();
+ }
+ return sofar;
+}
+
TextPiece::TextPiece(size_t len): d_len(len) {}
LongPiece::LongPiece(size_t len): TextPiece(len) {}
return std::string("LongPiece(FIXME)");// + std::wstring((wchar_t*)d_buf) + std::string(")");
}
+std::string LongPiece::toPlainText() {
+ return std::string("FIXME");// + std::wstring((wchar_t*)d_buf) + std::string(")");
+}
+
ShortPiece::ShortPiece(size_t len): TextPiece(len) {}
ShortPiece::~ShortPiece() {
return std::string("ShortPiece(") + std::string(d_buf) + std::string(")");
}
+std::string ShortPiece::toPlainText() {
+ return std::string(d_buf);
+}
+
ViewPiece::ViewPiece(Store *view): TextPiece(0), d_view(view) {}
void ViewPiece::read(Reader &reader) {
return std::string("ViewPiece { ") + d_view->toString() + " }";
}
+std::string ViewPiece::toPlainText() {
+ return d_view->toPlainText();
+}
+
} // namespace odc
TextPiece(size_t len);
virtual void read(Reader &reader) = 0;
virtual std::string toString() = 0;
+ virtual std::string toPlainText() = 0;
};
class LongPiece : public TextPiece {
~LongPiece();
virtual void read(Reader &reader);
virtual std::string toString();
+ virtual std::string toPlainText();
};
class ShortPiece : public TextPiece {
~ShortPiece();
virtual void read(Reader &reader);
virtual std::string toString();
+ virtual std::string toPlainText();
};
class ViewPiece : public TextPiece {
ViewPiece(Store *view);
virtual void read(Reader &reader);
virtual std::string toString();
+ virtual std::string toPlainText();
};
class StdTextModel : public TextModel {
virtual void internalize(Reader &reader);
virtual std::string toString();
+ virtual std::string toPlainText();
};
} // namespace odc