OSDN Git Service

-- ビルドシステムをomakeにも対応するようにした。
[simplecms/utakata.git] / object.h
1 #ifndef _OBJECT_H_\r
2 #define _OBJECT_H_\r
3 \r
4 namespace utakata {\r
5 \r
6     namespace type {\r
7         class TypeHash;\r
8     };\r
9 \r
10     namespace interpreter {\r
11 \r
12         class Object\r
13         {\r
14 \r
15             // \83C\83\93\83^\83v\83\8a\83^\92\86\82Å\83I\83u\83W\83F\83N\83g\82Æ\82µ\82Ä\88µ\82í\82ê\82é\91S\82Ä\82Ì\83I\83u\83W\83F\83N\83g\82Ì\r
16             // \8aî\92ê\82Æ\82È\82é\83I\83u\83W\83F\83N\83g\81B\r
17             // \8ae\83I\83u\83W\83F\83N\83g\82É\8cÅ\97L\82Ìeval\82È\82Ç\82Í\96³\82­\81Aeval\82Í\83V\83X\83e\83\80\93I\82É\92è\8b`\r
18             // \82³\82ê\81AObject\82Íeval\82É\97\98\97p\82³\82ê\82é\82½\82ß\82Ì\83f\81[\83^\81A\8aÖ\90\94\82È\82Ç\82ð\95Û\8e\9d\82·\82é\r
19             // \82½\82ß\82Ì\97Ì\88æ\82Æ\82µ\82Ä\97\98\97p\82³\82ê\82é\81B\r
20             // \8ae\83I\83u\83W\83F\83N\83g\82Ì\93à\81A\83\8a\83e\83\89\83\8b\82Æ\82È\82Á\82Ä\82¢\82é\83f\81[\83^\82É\82Â\82¢\82Ä\82Í\81A\r
21             // \83f\81[\83^\92l\82ª\91\8dÝ\82·\82é\81B\r
22             // \8ae\83\8a\83e\83\89\83\8b\82É\82Â\82¢\82Ä\82Í\81AObject\82Ì\88ê\8e\9f\94h\90\90æ\82ÌLiteral\82©\82ç\94h\90\82·\82é\81B\r
23             // Virtual\82Å\82 \82é\8aÖ\90\94\82ª\93ñ\82Â\82µ\82©\91\8dÝ\82µ\82È\82¢\82Ì\82Í\81A\82±\82ê\88È\8aO\82É\8b¤\92Ê\82³\82¹\82é\r
24             // \82±\82Æ\82ª\8fo\97\88\82é\8aÖ\90\94\82ª\91\8dÝ\82µ\82È\82¢\82½\82ß\82Å\82 \82é\81B\r
25             // eval\82µ\82È\82¯\82ê\82Î\82È\82ç\82È\82¢\83V\83X\83e\83\80\82Í\81A\8ae\8e©\83_\83E\83\93\83L\83\83\83X\83g\82ð\8ds\82¤\95K\97v\r
26             // \82ª\82 \82é\81B\82»\82ê\88È\8aO\82Å\82È\82ñ\82©\82¢\82¢\95û\96@\82ª\82 \82é\82È\82ç\8b³\82¦\82Ä\82­\82¾\82³\82¢\81B\r
27 \r
28         public:\r
29             Object(){}\r
30             virtual ~Object(){}\r
31             virtual const type::TypeHash& getType() = 0;\r
32             virtual bool enableChange() = 0;\r
33             virtual std::string toDatumValue() = 0;\r
34         };\r
35 \r
36     };\r
37 \r
38 };\r
39 \r
40 #endif /* _OBJECT_H_ */\r