00001
00002
00003 #ifndef DERIVED_ATTRIBUTE_DEFINED
00004 #define DERIVED_ATTRIBUTE_DEFINED
00005
00006 namespace class_def {
00007
00010 class derived_attribute : public attribute {
00011 public:
00012
00013 static const char* _class_name() { return "class_def::derived_attribute";}
00014 virtual const char *get_class_name() const {
00015 return "class_def::derived_attribute";
00016 }
00017
00018 derived_attribute(
00019 const std::string& Type = "",
00020 int Reference = 0,
00021 const std::string& Name = "",
00022 const std::string& Null_value= "",
00023 int Max_length= 0 ,
00024 const std::vector<std::string>& Comments= _empty_string_vector)
00025 : attribute( Type, Reference, Name, Null_value, Max_length, Comments)
00026 {
00027 }
00028
00029 friend std::istream& operator>>( std::istream& s, derived_attribute& atr);
00030 friend std::ostream& operator<<( std::ostream& s, const derived_attribute& atr);
00031 };
00032 }
00033
00034 #endif