43 bool HasRecord(
uint32 id)
const {
return id < _indexTableSize && _indexTable[id] !=
nullptr; }
53 void LoadStringsFrom(std::string
const& path,
LocaleConstant locale);
64 char* _dataTableEx[2];
70 friend class UnitTestDataLoader;
73template <
class T>
requires (std::is_standard_layout_v<T> && std::is_trivially_copyable_v<T>)
81 T
const*
LookupEntry(
uint32 id)
const {
return (
id >= _indexTableSize) ? nullptr :
reinterpret_cast<T const*
>(_indexTable[id]); }
84 T
const* record = LookupEntry(
id);
85 ASSERT(record !=
nullptr,
"LookupEntry(%u)",
id);
89 iterator begin()
const {
return iterator(
reinterpret_cast<T const* const*
>(_indexTable), _indexTableSize, _minId); }
90 iterator end()
const {
return iterator(
reinterpret_cast<T const* const*
>(_indexTable), _indexTableSize, _indexTableSize); }
Interface class for common access.
uint32 GetNumRows() const
uint32 GetTableHash() const
std::string const & GetFileName() const
DB2LoadInfo const * _loadInfo
uint32 GetLayoutHash() const
std::vector< char * > _stringPool
DB2StorageBase(DB2StorageBase &&)=delete
DB2StorageBase(char const *fileName, DB2LoadInfo const *loadInfo)
DB2LoadInfo const * GetLoadInfo() const
void EraseRecord(uint32 id)
DB2StorageBase & operator=(DB2StorageBase const &)=delete
bool HasRecord(uint32 id) const
DB2StorageBase(DB2StorageBase const &)=delete
uint32 GetFieldCount() const
DB2StorageBase & operator=(DB2StorageBase &&)=delete
T const * LookupEntry(uint32 id) const
T const * AssertEntry(uint32 id) const