DataIO_Parser.h
上传用户:kx_jwh
上传日期:2021-09-03
资源大小:76k
文件大小:1k
源码类别:

STL

开发平台:

Visual C++

  1. /* vim: set tabstop=4 : */
  2. #ifndef __febird_io_DataIO_Parser_h__
  3. #define __febird_io_DataIO_Parser_h__
  4. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  5. # pragma once
  6. #endif
  7. #include "StreamBuffer.h"
  8. #include "DataInput.h"
  9. #include <boost/spirit.hpp>
  10. namespace febird {
  11. template<class PrimInput>
  12. class DataIO_TextReader : public DataInput<PrimInput, DataIO_TextReader<PrimInput> >
  13. {
  14. public:
  15. protected:
  16. PrimInput* input;
  17. DataIO_Parser* parser;
  18. };
  19. template<class Final_Input>
  20. class DataIO_XML_Reader
  21. {
  22. InputBuffer* buf;
  23. public:
  24. Final_Input& operator>>(int& x)
  25. {
  26. int ch = buf->readByte();
  27. switch (ch)
  28. {
  29. case 0: // oct
  30. break;
  31. }
  32. do {
  33. ch = 
  34. } while (isdigit(ch));
  35. }
  36. };
  37. class DataIO_Parser
  38. {
  39. public:
  40. protected:
  41. const char* szMemberText;
  42. std::vector<std::string> memberNames;
  43. };
  44. }
  45. #endif // __febird_io_DataIO_Parser_h__