00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef INDRI_DOCUMENTITERATOR_HPP
00020 #define INDRI_DOCUMENTITERATOR_HPP
00021
00022 #include "indri/ObjectHandler.hpp"
00023 #include "indri/UnparsedDocument.hpp"
00024 #include <string>
00025 #include <ctype.h>
00026 namespace indri
00027 {
00028 namespace parse
00029 {
00030
00031 class DocumentIterator {
00032 protected:
00033 std::string _docnostring;
00034 public:
00035 virtual ~DocumentIterator() {};
00036
00037 virtual UnparsedDocument* nextDocument() = 0;
00038
00039 virtual void open( const std::string& filename ) = 0;
00040 virtual void close() = 0;
00041
00042 void cleanDocno() {
00043 char *docno = (char *)_docnostring.c_str();
00044 while ( *docno ) {
00045 if ( isspace(*docno) )
00046 *docno = '_';
00047 docno++;
00048 }
00049 }
00050 };
00051 }
00052 }
00053
00054 #endif // INDRI_DOCUMENTITERATOR_HPP
00055