5 #ifndef PROJECT_FREEBIBLINDEX_H 6 #define PROJECT_FREEBIBLINDEX_H 10 #include "../CommonLib/ddcMMap.h" 11 #include "../CommonLib/ddcStringEnum.h" 12 #include "../PCRE/pcre_rml.h" 66 virtual void ReadFromDisk(
string Path,
DWORD FileBreaksSize,
bool useMMap =
false);
68 virtual void CreateUnion(
const string &Path,
const vector<const CFreeBiblIndex *> &Indices,
69 const vector<size_t> &FileCounts);
71 virtual void CreatePartitions(vector<CFreeBiblIndex *> &Parts,
const vector<string> &Paths,
72 const vector<DWORD> &EndFileNo)
const;
110 virtual size_t size(
void)
const {
return 0; };
144 string GetStringFileName(
string Path)
const;
146 void ReadBiblStringItems(
string FileName,
bool useMMap =
false);
148 bool WriteBiblStringItems(
const vector<string> &Set,
string FileName)
const;
156 virtual void clear();
164 virtual void CreateUnion(
const string &Path,
const vector<const CFreeBiblIndex *> &Indices,
165 const vector<size_t> &FileCounts);
167 virtual void CreatePartitions(vector<CFreeBiblIndex *> &Parts,
const vector<string> &Paths,
168 const vector<DWORD> &EndFileNo)
const;
174 virtual void ReadFromDisk(
string Path,
DWORD FileBreaksSize,
bool useMMap =
false);
198 virtual size_t size(
void)
const {
return m_ValuesE.
size(); };
213 virtual void clear();
225 virtual void ReadFromDisk(
string Path,
DWORD FileBreaksSize,
bool useMMap =
false);
229 virtual void CreateUnion(
const string &Path,
const vector<const CFreeBiblIndex *> &Indices,
230 const vector<size_t> &FileCounts);
232 virtual void CreatePartitions(vector<CFreeBiblIndex *> &Parts,
const vector<string> &Paths,
233 const vector<DWORD> &EndFileNo)
const;
237 void setValue(
const string &value);
240 #endif //PROJECT_FREEBIBLINDEX_H const char StringTypeStr[]
Definition: FreeBiblIndex.h:29
virtual size_t size(void) const
for server info
Definition: FreeBiblIndex.h:110
Definition: FreeBiblIndex.h:33
bool m_bShowInHeader
should DDC show this field for each header?
Definition: FreeBiblIndex.h:48
bool operator==(const CStringItem &X) const
Definition: FreeBiblIndex.h:127
virtual CFreeBiblIndexTypeId GetTypeId() const
return bibl-field subtype identifier
Definition: FreeBiblIndex.cpp:138
Definition: FreeBiblIndex.h:16
Definition: FreeBiblIndex.h:205
virtual bool GetFilterValues(CDDCFilterWithBounds &Filter, const string &Regex) const
Definition: FreeBiblIndex.cpp:95
Definition: pcre_rml.h:46
string m_Value
Definition: FreeBiblIndex.h:207
virtual bool GetFilterValue(CDDCFilterWithBounds &Filter, const string &Value) const
Definition: FreeBiblIndex.cpp:87
virtual string GetTypeStr() const
Definition: FreeBiblIndex.cpp:134
Definition: FreeBiblIndex.h:117
const char StringAliasTypeStr[]
Definition: FreeBiblIndex.h:31
Definition: FreeBiblIndex.h:21
virtual bool ConvertAndSaveToDiskAfterIndexing(string Path)
Definition: FreeBiblIndex.cpp:129
string m_BiblString
Definition: FreeBiblIndex.h:120
virtual void CreatePartitions(vector< CFreeBiblIndex *> &Parts, const vector< string > &Paths, const vector< DWORD > &EndFileNo) const
Definition: FreeBiblIndex.cpp:63
A file for globally defined constants and classes.
virtual void RegisterBiblStringItemId(const string &Value)
Definition: FreeBiblIndex.cpp:118
virtual bool GetFilterBounds(CDDCFilterWithBounds &Filter, const string &LoValue, const string &HiValue) const
Definition: FreeBiblIndex.cpp:78
string m_Name
the name of the index (from options file)
Definition: FreeBiblIndex.h:39
Definition: ConcCommon.h:248
size_t size() const
returns the number of enumerated strings
Definition: ddcStringEnum.h:75
string GetDescriptionStr() const
Definition: FreeBiblIndex.cpp:37
CFreeBiblIndexTypeId
Definition: FreeBiblIndex.h:15
const char IntegerTypeStr[]
Definition: FreeBiblIndex.h:28
map< string, DWORD > BuildStringItemsMapT
Definition: FreeBiblIndex.h:136
ddcStringEnum m_ValuesE
a set of all possible string values for this index
Definition: FreeBiblIndex.h:142
virtual const string & GetXpathStr() const
Definition: FreeBiblIndex.cpp:142
string m_Xpath
the XPath to this information (from options file)
Definition: FreeBiblIndex.h:42
Definition: FreeBiblIndex.h:17
ddcVecFile< DWORD > m_ValuesForEachFile
integer references to m_Values for each corpus file
Definition: FreeBiblIndex.h:45
bool operator<(const CStringItem &X) const
Definition: FreeBiblIndex.h:123
const string FreeBiblAttribOptionFieldName
Definition: FreeBiblIndex.h:26
Definition: FreeBiblIndex.h:119
virtual ~CFreeBiblIndex()
Definition: FreeBiblIndex.cpp:10
BuildStringItemsMapT m_BuildStringItemsMap
Definition: FreeBiblIndex.h:137
virtual void CreateUnion(const string &Path, const vector< const CFreeBiblIndex *> &Indices, const vector< size_t > &FileCounts)
Definition: FreeBiblIndex.cpp:47
Definition: FreeBiblIndex.h:19
const string TextAreaOptionFieldName
Definition: FreeBiblIndex.h:27
string GetIndexFileName(string Path) const
Definition: FreeBiblIndex.cpp:43
DWORD m_BiblId
Definition: FreeBiblIndex.h:121
virtual string GetStringValue(DWORD FileNo) const
Definition: FreeBiblIndex.cpp:17
Definition: FreeBiblIndex.h:18
size_t m_BuildStringItemsSize
Definition: FreeBiblIndex.h:138
virtual bool DeleteBiblFiles(string Path) const
Definition: FreeBiblIndex.cpp:124
Definition: FreeBiblIndex.h:22
Definition: ConcCommon.h:318
virtual bool FileMatches(DWORD FileNo, const CDDCFilterWithBounds &Filter) const
test whether a given file matches the filter condition (for count(*) queries)
Definition: FreeBiblIndex.cpp:107
const char StringConstantTypeStr[]
Definition: FreeBiblIndex.h:30
virtual size_t size(void) const
for server info
Definition: FreeBiblIndex.h:198
CFreeBiblIndex()
Definition: FreeBiblIndex.cpp:8
Definition: ddcStringEnum.h:31
virtual int GetIntegerValue(DWORD FileNo) const
Definition: FreeBiblIndex.cpp:21
virtual DWORD GetIntegerLowerBound(const string &Value) const
Definition: FreeBiblIndex.cpp:146
Definition: FreeBiblIndex.h:20
uint32_t DWORD
Definition: utilit.h:105
virtual void ReadFromDisk(string Path, DWORD FileBreaksSize, bool useMMap=false)
Definition: FreeBiblIndex.cpp:26
virtual void clear()
Definition: FreeBiblIndex.cpp:12
RML_RE::Options * m_pRegexOpts
regex options
Definition: FreeBiblIndex.h:51