00001
00002
00003
00004
00009 #ifndef __FIELD_H__
00010 #define __FIELD_H__
00011
00012 #ifndef __K4CONF_H__
00013 #error Please include "k4conf.h" before this header file
00014 #endif
00015
00017
00018 class c4_Field
00019 {
00020 c4_PtrArray _subFields;
00021 c4_String _name;
00022 char _type;
00023 c4_Field* _indirect;
00024
00025 public:
00026
00027 c4_Field (const char*&, c4_Field* =0);
00028
00029 ~c4_Field ();
00030
00031
00032 int NumSubFields() const;
00033
00034 c4_Field& SubField(int) const;
00035
00036 bool IsRepeating() const;
00037
00038
00039
00040 const c4_String& Name() const;
00041
00042 char Type() const;
00043
00044 char OrigType() const;
00045
00046 c4_String Description(bool anonymous_ =false) const;
00047
00048 c4_String DescribeSubFields(bool anonymous_ =false) const;
00049
00050
00051 private:
00052 c4_Field (const c4_Field&);
00053 void operator= (const c4_Field&);
00054 };
00055
00057
00058 #if q4_INLINE
00059 #include "field.inl"
00060 #endif
00061
00063
00064 #endif