00001
00002
00003
00004
00005
00006
00007
00008
00010
00011 #define sw_cbl_codetree_deffloat_h
00012
00013 #include
00014
00015 namespace cbl {
00016 namespace codetree {
00017 namespace def {
00018
00019
00020 class TFloatDef : public TDef {
00021 public:
00022 enum TFloatType {
00023 ft32Bit = sizeof(float),
00024 ft64Bit = sizeof(double),
00025 ft80Bit = sizeof(long double)
00026 };
00027
00028 private:
00029 TFloatType FFloatType;
00030
00031 protected:
00032 TFloatDef(symbols::TModuleSym *AOwner, TFloatType AFloatType);
00033
00034 friend class symbols::TModuleSym;
00035
00036 public:
00037
00038 virtual unsigned size() const;
00039
00040
00041 void floatType(TFloatType);
00042 TFloatType floatType() const;
00043
00044
00045 virtual void accept(TDefVisitor&);
00046
00047
00048 virtual TFloatDef *clone() const;
00049 };
00050
00051 }
00052 }
00053 }
00054
00055 #endif