ddc
|
#include <ddcStringEnum.h>
Classes | |
struct | IdKeyLess |
comparison helper struct for string-to-id search More... | |
Public Types | |
typedef OffT_ | OffT |
typedef for offset values More... | |
typedef DWORD | IdT |
typedef for integer IDs More... | |
Public Member Functions | |
ddcStringEnum () | |
default constructor More... | |
ddcStringEnum (const string &cdataFile, const string &offsetsFile, const string &fallbackFile="", bool useMMap=false) | |
construct and open More... | |
~ddcStringEnum () | |
default destructor calls close() More... | |
void | clear () |
clear() method wraps close() More... | |
size_t | size () const |
returns the number of enumerated strings More... | |
bool | empty () const |
STL-esque wrapper. More... | |
bool | opened () const |
check whether the object is opened More... | |
operator bool () const | |
implicit typecast to bool More... | |
const char * | operator[] (size_t idx) const |
indexing operator More... | |
void | push_back (const string &value) |
simulate vector::push_back(): used by indexing routines More... | |
void | to_vector (vector< string > &v) const |
populate v with an equivalent vector-implementation (for compile-time compatibility) More... | |
void | ensureVec () |
force vector-implementation More... | |
IdT | lower_bound (const string &key) const |
returns id of lower-bound for key, or NO_ID if not found More... | |
IdT | upper_bound (const string &key) const |
returns id of upper-bound for key, or NO_ID if not found More... | |
IdT | find (const string &key) const |
returns id of key, or NO_ID if not found; wraps lower_bound() More... | |
ddcStringEnum & | open (const string &cdataFile, const string &offsetsFile, const string &fallbackFile, bool useMMap=false) |
map a named file filename More... | |
void | openCompat (const string &filename) |
open in compatibility-mode; lifted from CConcXml::CFreeBiblStringIndex::ReadBiblStringItems (vector<string>& Set, string FileName) More... | |
void | close () |
unmap current file(s), if any More... | |
Public Attributes | |
ddcVecFile< char > | m_cdata |
underlying character data More... | |
ddcVecFile< OffT > | m_offsets |
offsets in m_cdata[] of NUL-terminated item strings; associated strings must be sorted in lexicographic order More... | |
vector< string > | m_strings |
backwards-compatible vector<string> implementation, for read/write access More... | |
size_t | m_bufsize |
buffer size for fallback loading (default=20000: old value for MaxBiblStringLen from Bibliography.cpp) More... | |
Static Public Attributes | |
static const IdT | NO_ID = (0xffffffff) |
constant returned by string-to-id search methods indicating no match was found More... | |
convenience wrapper for file-based integer<->string mappings
typedef OffT_ ddcStringEnum< OffT_ >::OffT |
typedef for offset values
typedef DWORD ddcStringEnum< OffT_ >::IdT |
typedef for integer IDs
|
inline |
default constructor
|
inline |
construct and open
References ddcStringEnum< OffT_ >::open().
|
inline |
default destructor calls close()
References ddcStringEnum< OffT_ >::close().
|
inline |
References ddcStringEnum< OffT_ >::close().
Referenced by CFreeBiblStringIndex::CreatePartitions().
|
inline |
returns the number of enumerated strings
References ddcVecFile< T >::size().
Referenced by ddcStringEnum< OffT_ >::open(), CFreeBiblStringIndex::size(), and ddcStringEnum< OffT_ >::to_vector().
|
inline |
|
inline |
check whether the object is opened
References ddcVecFile< T >::opened().
Referenced by ddcStringEnum< OffT_ >::open(), ddcStringEnum< OffT_ >::openCompat(), and ddcStringEnum< OffT_ >::operator bool().
|
inline |
implicit typecast to bool
References ddcStringEnum< OffT_ >::opened().
|
inline |
indexing operator
References ddcVecFile< T >::m_data.
|
inline |
simulate vector::push_back(): used by indexing routines
References ddcStringEnum< OffT_ >::ensureVec().
|
inline |
populate v with an equivalent vector-implementation (for compile-time compatibility)
References ddcVecFile< T >::begin(), ClearVector(), ddcVecFile< T >::end(), ddcVecFile< T >::m_data, ddcStringEnum< OffT_ >::m_strings, and ddcStringEnum< OffT_ >::size().
Referenced by ddcStringEnum< OffT_ >::ensureVec().
|
inline |
force vector-implementation
References ddcVecFile< T >::close(), ddcLogWarn, ddcVecFile< T >::filename(), Format(), and ddcStringEnum< OffT_ >::to_vector().
Referenced by CFreeBiblStringIndex::CreatePartitions(), and ddcStringEnum< OffT_ >::push_back().
|
inline |
returns id of lower-bound for key, or NO_ID if not found
References ddcVecFile< T >::begin(), ddcVecFile< T >::end(), ddcStringEnum< OffT_ >::IdKeyLess::IdKeyLess(), and ddcStringEnum< OffT_ >::NO_ID.
Referenced by ddcStringEnum< OffT_ >::find().
|
inline |
returns id of upper-bound for key, or NO_ID if not found
References ddcVecFile< T >::begin(), ddcVecFile< T >::end(), ddcStringEnum< OffT_ >::IdKeyLess::IdKeyLess(), and ddcStringEnum< OffT_ >::NO_ID.
|
inline |
returns id of key, or NO_ID if not found; wraps lower_bound()
References ddcStringEnum< OffT_ >::lower_bound(), and ddcStringEnum< OffT_ >::NO_ID.
|
inline |
map a named file filename
References ddcStringEnum< OffT_ >::close(), ddcLogDebug, ddcLogWarn, FileExists(), Format(), ddcVecFile< T >::open(), ddcStringEnum< OffT_ >::openCompat(), ddcStringEnum< OffT_ >::opened(), and ddcStringEnum< OffT_ >::size().
Referenced by ddcStringEnum< OffT_ >::ddcStringEnum().
|
inline |
open in compatibility-mode; lifted from CConcXml::CFreeBiblStringIndex::ReadBiblStringItems (vector<string>& Set, string FileName)
References ddcStringEnum< OffT_ >::close(), Format(), ddcStringEnum< OffT_ >::opened(), and Trim().
Referenced by ddcStringEnum< OffT_ >::open().
|
inline |
unmap current file(s), if any
References ClearVector(), and ddcVecFile< T >::close().
Referenced by ddcStringEnum< OffT_ >::clear(), ddcStringEnum< OffT_ >::open(), ddcStringEnum< OffT_ >::openCompat(), and ddcStringEnum< OffT_ >::~ddcStringEnum().
ddcVecFile<char> ddcStringEnum< OffT_ >::m_cdata |
underlying character data
ddcVecFile<OffT> ddcStringEnum< OffT_ >::m_offsets |
offsets in m_cdata[] of NUL-terminated item strings; associated strings must be sorted in lexicographic order
vector<string> ddcStringEnum< OffT_ >::m_strings |
backwards-compatible vector<string> implementation, for read/write access
Referenced by CFreeBiblStringIndex::CreatePartitions(), and ddcStringEnum< OffT_ >::to_vector().
size_t ddcStringEnum< OffT_ >::m_bufsize |
buffer size for fallback loading (default=20000: old value for MaxBiblStringLen from Bibliography.cpp)
|
static |
constant returned by string-to-id search methods indicating no match was found
Referenced by ddcStringEnum< OffT_ >::find(), ddcStringEnum< OffT_ >::lower_bound(), and ddcStringEnum< OffT_ >::upper_bound().