#define _SXSI_TextCollectionBuilder_h_
#include "TextCollection.h"
+#include "TextStorage.h"
#include "Tools.h" // Defines ulong and uchar.
#include <vector>
#include <utility> // Defines std::pair.
// 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
class TextCollectionBuilder
{
public:
- explicit TextCollectionBuilder(unsigned samplerate = TEXTCOLLECTION_DEFAULT_SAMPLERATE);
+ explicit TextCollectionBuilder(unsigned samplerate = TEXTCOLLECTION_DEFAULT_SAMPLERATE,
+ ulong estimatedInputLength = TEXTCOLLECTION_DEFAULT_INPUT_LENGTH);
~TextCollectionBuilder();
/**
/**
* 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_;