00001
00002
00003
00004 #ifndef AITOOLS_INVERTEDINDEX_RECORD_READER_HPP
00005 #define AITOOLS_INVERTEDINDEX_RECORD_READER_HPP
00006
00007 #include "Record.hpp"
00008 #include "Exception.hpp"
00009 #include "NonCopyable.hpp"
00010
00011 namespace aitools {
00012 namespace invertedindex {
00013
00024 template<typename Value>
00025 class RecordReader : public NonCopyable {
00026
00027 public:
00028
00032 RecordReader() {};
00033
00037 virtual ~RecordReader() {};
00038
00039 public:
00040
00044 virtual void close() = 0;
00045
00052 virtual bool next(Record<Value>& record) = 0;
00053
00059 virtual void open(const bfs::path& path) = 0;
00060
00061 };
00062
00063 }
00064 }
00065
00066 #endif // AITOOLS_INVERTEDINDEX_RECORD_READER_HPP