00001 # ifndef Word_h
00002 # define Word_h Word_h
00003
00004
00005 #include "Element.h"
00006
00007
00008 namespace Conjecture {
00009
00030
00031 class Word : public Element {
00032 public:
00033
00034 Word(Element* parent, const Coord& topleft, const Coord& bottomright);
00035
00039 virtual Word* asWord() { return this; }
00040 virtual const Word* asWord() const { return this; }
00041
00042 virtual void printSummary(std::ostream& os = std::cerr, const std::string& indent = "", int index = -1) const;
00043
00048 virtual void writeText(std::ostream& os) const;
00049
00059 static void test(int argc = 0, const char* argv[] = NULL);
00060
00061
00062 virtual int type() const { return Type; }
00063
00064 protected:
00065
00066
00067
00068
00069 private:
00070
00071
00072
00073
00074
00075 static const ElementType Type = ELEMENT_WORD;
00076 };
00077 };
00078
00079 # endif // Word_h
00080