24 #ifndef _TABREADER_HPP_
25 #define _TABREADER_HPP_
29 #include "boost/shared_ptr.hpp"
42 virtual bool getHeaders() = 0;
44 virtual char useComment()
const = 0;
46 virtual bool open() = 0;
48 virtual bool updateLine(
const std::string& line) = 0;
50 virtual bool updateRecord(
const std::vector<std::string>& fields) = 0;
52 virtual bool close() = 0;
60 char comment_char=
'#');
66 virtual bool getHeaders();
68 virtual char useComment()
const;
72 virtual bool updateLine(
const std::string& line);
74 virtual bool updateRecord(
const std::vector<std::string>& fields);
76 virtual size_t columns()
const;
78 virtual size_t getHeader(
const std::string& name)
const;
80 virtual std::string getHeader(
size_t index)
const;
87 boost::shared_ptr<Impl>
pimpl;
102 virtual const_iterator begin()
const;
103 virtual const_iterator end()
const;
115 virtual bool process(
const char* filename);
122 boost::shared_ptr<Impl>
pimpl;
128 #endif // _TABREADER_HPP_