X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=TextCollectionBuilder.h;h=1eb0275550fb05145972dfd0ad5399cf3400cdd0;hb=d660b6ec5cd55019d17188810b783a2e3a94fa49;hp=bcb3672515b613179f7cb58b580837720ff0b0cc;hpb=ee8a3e526fe7f39cdc075263824faf6c17389297;p=SXSI%2FTextCollection.git diff --git a/TextCollectionBuilder.h b/TextCollectionBuilder.h index bcb3672..1eb0275 100644 --- a/TextCollectionBuilder.h +++ b/TextCollectionBuilder.h @@ -22,11 +22,22 @@ #define _SXSI_TextCollectionBuilder_h_ #include "TextCollection.h" +#include "TextStorage.h" #include "Tools.h" // Defines ulong and uchar. #include #include // Defines std::pair. #include // Defines std::strlen, added by Kim +// Un-comment to compare BWT against a BWT generated from class dynFMI: +//#define TCB_TEST_BWT + +// Default samplerate for suffix array samples +#define TEXTCOLLECTION_DEFAULT_SAMPLERATE 64 + +// Default input length, used to calculate the buffer size. +#define TEXTCOLLECTION_DEFAULT_INPUT_LENGTH (150 * 1024 * 1024) + + namespace SXSI { struct TCBuilderRep; // Pimpl @@ -37,7 +48,8 @@ namespace SXSI class TextCollectionBuilder { public: - explicit TextCollectionBuilder(unsigned); + explicit TextCollectionBuilder(unsigned samplerate = TEXTCOLLECTION_DEFAULT_SAMPLERATE, + ulong estimatedInputLength = TEXTCOLLECTION_DEFAULT_INPUT_LENGTH); ~TextCollectionBuilder(); /** @@ -52,16 +64,18 @@ namespace SXSI /** * Make static * - * Convert to a static collection; reduces space and time complexities. + * Convert to a static collection. * New texts can not be inserted after this operation. + * + * TextStorage type defaults to TYPE_PLAIN_TEXT, another + * possible type is TYPE_LZ_INDEX. */ - TextCollection * InitTextCollection(); + TextCollection * InitTextCollection(char type = TextStorage::TYPE_PLAIN_TEXT); private: struct TCBuilderRep * p_; // No copy constructor or assignment - TextCollectionBuilder(); TextCollectionBuilder(TextCollectionBuilder const&); TextCollectionBuilder& operator = (TextCollectionBuilder const&); };