field_names1.hh
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:1k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #ifndef __field_names1_hh__
  2. #define __field_names1_hh__
  3. #include <vector>
  4. #include <algorithm>
  5. using namespace std ;
  6. #include "defs.h"
  7. #include "define_short.h"
  8. #include "coldata1.hh"
  9. #include "string_util.hh"
  10. //: A vector of the field names.
  11. class FieldNames : public vector<string> {
  12. private:
  13.   void init (const ResUse *res);
  14. public:
  15.   FieldNames () {}
  16.   FieldNames (const ResUse *res) {init(res);}
  17.   FieldNames (int i) : vector<string>(i) {}
  18.   FieldNames& operator = (const ResUse *res) {init(res); return *this;}
  19.   //: Creates a new list from the data in res.
  20.   FieldNames& operator = (int i) {insert(begin(), i, ""); return *this;}
  21.   //: Creates a new list with i field names.
  22.   string&  operator [] (int i) {return vector<string>::operator [] (i);}
  23.   //: returns the field name of the field with that index number
  24.   const string&  operator [] (int i) const
  25.     {return vector<string>::operator [] (i);}
  26.   //: returns the field name of the field with that index number
  27.   uint     operator [] (string i) const
  28.   {
  29.   string temp(i); str_to_lwr(temp);
  30.   return find(begin(),end(), temp) - begin();
  31. }
  32.   //: returns the index number of the field with that name
  33. };
  34. #endif