00001 # ifndef Conjecture_Word_h
00002 # define Conjecture_Word_h Conjecture_Word_h
00003
00004
00005
00006
00007
00008 #include "Element.h"
00009
00010
00011 namespace Conjecture {
00012
00034 class Word : public Element {
00035 public:
00036
00037 Word(Element* parent, const Coord& topleft, const Coord& bottomright);
00038
00042 virtual Word* asWord() { return this; }
00043 virtual const Word* asWord() const { return this; }
00044
00045 virtual void printSummary(std::ostream& os = std::cerr, const std::string& indent = "", int index = -1) const;
00046
00052 virtual void writeText(std::ostream& os) const;
00053
00063 static void test(int argc = 0, const char* argv[] = NULL);
00064
00065
00066 virtual int type() const { return Type; }
00067
00068 protected:
00069
00070
00071
00072
00073 private:
00074
00075
00076
00077
00078
00079 static const ElementType Type = ELEMENT_WORD;
00080 };
00081 };
00082
00083 # endif // Conjecture_Word_h
00084