X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=TextCollection.h;h=98272c1a4d572124286b2dcb0c46b2049704cc3b;hb=refs%2Fheads%2Flocal-new-trunk;hp=2ea24ca57133e98350c758a9132b34118dbafe87;hpb=ed61d2042a7ad7dd83bae32d7c31e69504dafa80;p=SXSI%2FTextCollection.git diff --git a/TextCollection.h b/TextCollection.h index 2ea24ca..98272c1 100644 --- a/TextCollection.h +++ b/TextCollection.h @@ -48,19 +48,25 @@ namespace SXSI /** * Load from a file * + * The second parameter is a prefix to be used for multiple + * files. (SWCSAWrapper uses multiple save files!) + * * New samplerate can be given, otherwise will use the one specified in the save file! * * Throws an exception if std::fread() fails. * */ - static TextCollection* Load(FILE *, index_mode_t = index_mode_default, unsigned samplerate = 0); + static TextCollection* Load(FILE *, char const *, index_mode_t = index_mode_default, unsigned samplerate = 0); /** * Save data structure into a file - * + * + * The second parameter is a prefix to be used for multiple + * files. (SWCSAWrapper uses multiple save files!) + * * Throws an exception if std::fwrite() fails. */ - virtual void Save(FILE *) const = 0; + virtual void Save(FILE *, char const *) const = 0; /** * Virtual destructor @@ -195,6 +201,36 @@ namespace SXSI virtual full_result FullKMismatches(uchar const *, unsigned) const = 0; virtual full_result FullKErrors(uchar const *, unsigned) const = 0; + + virtual TextPosition getLength() const + { + std::cerr << "TextCollection::getLength() is unsupported! Use RLCSA instead." << std::endl; + std::exit(2); + return 0; + } + + virtual TextPosition LF(uchar c, TextPosition i) const + { + std::cerr << "TextCollection::LF() is unsupported! Use RLCSA instead." << std::endl; + std::exit(2); + return 0; + } + + virtual uchar* getSuffix(TextPosition pos, unsigned l) const + { + std::cerr << "TextCollection::getSuffix() is unsupported! Use RLCSA instead." << std::endl; + std::exit(2); + return 0; + } + + virtual DocId getDoc(TextPosition i) const + { + std::cerr << "TextCollection::getDoc() is unsupported! Use RLCSA instead." << std::endl; + std::exit(2); + return 0; + } + + protected: // Protected constructor; use TextCollectionBuilder TextCollection() { };