momo  3.9
momo::internal::DataIndexes< TColumnList, TDataTraits > Class Template Reference

#include <DataIndexes.h>

Classes

struct  Result
 

Public Types

typedef TColumnList ColumnList
 
typedef TDataTraits DataTraits
 
typedef ColumnList::MemManager MemManager
 
typedef ColumnList::Settings Settings
 
typedef ColumnList::Raw Raw
 
typedef DataUniqueHashIndex UniqueHashIndex
 
typedef DataMultiHashIndex MultiHashIndex
 
template<typename... Items>
using OffsetItemTuple = std::tuple< std::pair< size_t, const Items & >... >
 
typedef UniqueHash::RawBounds UniqueHashRawBounds
 
typedef MultiHash::RawBounds MultiHashRawBounds
 

Public Member Functions

 DataIndexes (MemManager &memManager) noexcept
 
 DataIndexes (DataIndexes &&indexes) noexcept
 
 DataIndexes (const DataIndexes &)=delete
 
 ~DataIndexes ()=default
 
DataIndexesoperator= (const DataIndexes &)=delete
 
void Swap (DataIndexes &indexes) noexcept
 
template<size_t columnCount>
UniqueHashIndex GetUniqueHashIndex (const std::array< size_t, columnCount > &offsets) const
 
template<size_t columnCount>
MultiHashIndex GetMultiHashIndex (const std::array< size_t, columnCount > &offsets) const
 
template<typename... Items, typename Raws , size_t columnCount = sizeof...(Items)>
Result AddUniqueHashIndex (const Raws &raws, const std::array< size_t, columnCount > &offsets)
 
template<typename... Items, typename Raws , size_t columnCount = sizeof...(Items)>
MultiHashIndex AddMultiHashIndex (const Raws &raws, const std::array< size_t, columnCount > &offsets)
 
void RemoveUniqueHashIndexes () noexcept
 
void RemoveMultiHashIndexes () noexcept
 
void Assign (const DataIndexes &indexes)
 
UniqueHashRawBounds FindRaws (UniqueHashIndex uniqueHashIndex, Raw *raw, VersionKeeper version) const
 
template<typename... Items>
UniqueHashRawBounds FindRaws (UniqueHashIndex uniqueHashIndex, const OffsetItemTuple< Items... > &tuple, VersionKeeper version) const
 
template<typename... Items>
MultiHashRawBounds FindRaws (MultiHashIndex multiHashIndex, const OffsetItemTuple< Items... > &tuple, VersionKeeper version) const
 
void ClearRaws () noexcept
 
void Reserve (size_t capacity)
 
Result AddRaw (Raw *raw)
 
void RemoveRaw (Raw *raw)
 
Result UpdateRaw (Raw *oldRaw, Raw *newRaw)
 
template<typename Item , typename ItemAssigner >
Result UpdateRaw (Raw *raw, size_t offset, const Item &item, ItemAssigner &&itemAssigner)
 
template<typename RawFilter >
void FilterRaws (RawFilter rawFilter) noexcept
 
template<size_t columnCount>
UniqueHashIndex GetFitUniqueHashIndex (const std::array< size_t, columnCount > &sortedOffsets) const noexcept
 
template<size_t columnCount>
MultiHashIndex GetFitMultiHashIndex (const std::array< size_t, columnCount > &sortedOffsets) const noexcept
 
template<size_t columnCount>
UniqueHashIndex GetTrueIndex (UniqueHashIndex uniqueHashIndex, const std::array< size_t, columnCount > &offsets) const
 
template<size_t columnCount>
MultiHashIndex GetTrueIndex (MultiHashIndex multiHashIndex, const std::array< size_t, columnCount > &offsets) const
 
bool ContainsOffset (UniqueHashIndex uniqueHashIndex, size_t offset) const noexcept
 
bool ContainsOffset (MultiHashIndex multiHashIndex, size_t offset) const noexcept
 

Static Public Member Functions

template<size_t columnCount>
static std::array< size_t, columnCount > GetSortedOffsets (const std::array< size_t, columnCount > &offsets)
 

Member Typedef Documentation

◆ ColumnList

template<typename TColumnList , typename TDataTraits >
typedef TColumnList momo::internal::DataIndexes< TColumnList, TDataTraits >::ColumnList

◆ DataTraits

template<typename TColumnList , typename TDataTraits >
typedef TDataTraits momo::internal::DataIndexes< TColumnList, TDataTraits >::DataTraits

◆ MemManager

template<typename TColumnList , typename TDataTraits >
typedef ColumnList::MemManager momo::internal::DataIndexes< TColumnList, TDataTraits >::MemManager

◆ MultiHashIndex

template<typename TColumnList , typename TDataTraits >
typedef DataMultiHashIndex momo::internal::DataIndexes< TColumnList, TDataTraits >::MultiHashIndex

◆ MultiHashRawBounds

template<typename TColumnList , typename TDataTraits >
typedef MultiHash::RawBounds momo::internal::DataIndexes< TColumnList, TDataTraits >::MultiHashRawBounds

◆ OffsetItemTuple

template<typename TColumnList , typename TDataTraits >
template<typename... Items>
using momo::internal::DataIndexes< TColumnList, TDataTraits >::OffsetItemTuple = std::tuple<std::pair<size_t, const Items&>...>

◆ Raw

template<typename TColumnList , typename TDataTraits >
typedef ColumnList::Raw momo::internal::DataIndexes< TColumnList, TDataTraits >::Raw

◆ Settings

template<typename TColumnList , typename TDataTraits >
typedef ColumnList::Settings momo::internal::DataIndexes< TColumnList, TDataTraits >::Settings

◆ UniqueHashIndex

template<typename TColumnList , typename TDataTraits >
typedef DataUniqueHashIndex momo::internal::DataIndexes< TColumnList, TDataTraits >::UniqueHashIndex

◆ UniqueHashRawBounds

template<typename TColumnList , typename TDataTraits >
typedef UniqueHash::RawBounds momo::internal::DataIndexes< TColumnList, TDataTraits >::UniqueHashRawBounds

Constructor & Destructor Documentation

◆ DataIndexes() [1/3]

template<typename TColumnList , typename TDataTraits >
momo::internal::DataIndexes< TColumnList, TDataTraits >::DataIndexes ( MemManager memManager)
inlineexplicitnoexcept

◆ DataIndexes() [2/3]

template<typename TColumnList , typename TDataTraits >
momo::internal::DataIndexes< TColumnList, TDataTraits >::DataIndexes ( DataIndexes< TColumnList, TDataTraits > &&  indexes)
inlinenoexcept

◆ DataIndexes() [3/3]

template<typename TColumnList , typename TDataTraits >
momo::internal::DataIndexes< TColumnList, TDataTraits >::DataIndexes ( const DataIndexes< TColumnList, TDataTraits > &  )
delete

◆ ~DataIndexes()

template<typename TColumnList , typename TDataTraits >
momo::internal::DataIndexes< TColumnList, TDataTraits >::~DataIndexes ( )
default

Member Function Documentation

◆ AddMultiHashIndex()

template<typename TColumnList , typename TDataTraits >
template<typename... Items, typename Raws , size_t columnCount = sizeof...(Items)>
MultiHashIndex momo::internal::DataIndexes< TColumnList, TDataTraits >::AddMultiHashIndex ( const Raws &  raws,
const std::array< size_t, columnCount > &  offsets 
)
inline

◆ AddRaw()

template<typename TColumnList , typename TDataTraits >
Result momo::internal::DataIndexes< TColumnList, TDataTraits >::AddRaw ( Raw raw)
inline

◆ AddUniqueHashIndex()

template<typename TColumnList , typename TDataTraits >
template<typename... Items, typename Raws , size_t columnCount = sizeof...(Items)>
Result momo::internal::DataIndexes< TColumnList, TDataTraits >::AddUniqueHashIndex ( const Raws &  raws,
const std::array< size_t, columnCount > &  offsets 
)
inline

◆ Assign()

template<typename TColumnList , typename TDataTraits >
void momo::internal::DataIndexes< TColumnList, TDataTraits >::Assign ( const DataIndexes< TColumnList, TDataTraits > &  indexes)
inline

◆ ClearRaws()

template<typename TColumnList , typename TDataTraits >
void momo::internal::DataIndexes< TColumnList, TDataTraits >::ClearRaws ( )
inlinenoexcept

◆ ContainsOffset() [1/2]

template<typename TColumnList , typename TDataTraits >
bool momo::internal::DataIndexes< TColumnList, TDataTraits >::ContainsOffset ( MultiHashIndex  multiHashIndex,
size_t  offset 
) const
inlinenoexcept

◆ ContainsOffset() [2/2]

template<typename TColumnList , typename TDataTraits >
bool momo::internal::DataIndexes< TColumnList, TDataTraits >::ContainsOffset ( UniqueHashIndex  uniqueHashIndex,
size_t  offset 
) const
inlinenoexcept

◆ FilterRaws()

template<typename TColumnList , typename TDataTraits >
template<typename RawFilter >
void momo::internal::DataIndexes< TColumnList, TDataTraits >::FilterRaws ( RawFilter  rawFilter)
inlinenoexcept

◆ FindRaws() [1/3]

template<typename TColumnList , typename TDataTraits >
template<typename... Items>
MultiHashRawBounds momo::internal::DataIndexes< TColumnList, TDataTraits >::FindRaws ( MultiHashIndex  multiHashIndex,
const OffsetItemTuple< Items... > &  tuple,
VersionKeeper  version 
) const
inline

◆ FindRaws() [2/3]

template<typename TColumnList , typename TDataTraits >
template<typename... Items>
UniqueHashRawBounds momo::internal::DataIndexes< TColumnList, TDataTraits >::FindRaws ( UniqueHashIndex  uniqueHashIndex,
const OffsetItemTuple< Items... > &  tuple,
VersionKeeper  version 
) const
inline

◆ FindRaws() [3/3]

template<typename TColumnList , typename TDataTraits >
UniqueHashRawBounds momo::internal::DataIndexes< TColumnList, TDataTraits >::FindRaws ( UniqueHashIndex  uniqueHashIndex,
Raw raw,
VersionKeeper  version 
) const
inline

◆ GetFitMultiHashIndex()

template<typename TColumnList , typename TDataTraits >
template<size_t columnCount>
MultiHashIndex momo::internal::DataIndexes< TColumnList, TDataTraits >::GetFitMultiHashIndex ( const std::array< size_t, columnCount > &  sortedOffsets) const
inlinenoexcept

◆ GetFitUniqueHashIndex()

template<typename TColumnList , typename TDataTraits >
template<size_t columnCount>
UniqueHashIndex momo::internal::DataIndexes< TColumnList, TDataTraits >::GetFitUniqueHashIndex ( const std::array< size_t, columnCount > &  sortedOffsets) const
inlinenoexcept

◆ GetMultiHashIndex()

template<typename TColumnList , typename TDataTraits >
template<size_t columnCount>
MultiHashIndex momo::internal::DataIndexes< TColumnList, TDataTraits >::GetMultiHashIndex ( const std::array< size_t, columnCount > &  offsets) const
inline

◆ GetSortedOffsets()

template<typename TColumnList , typename TDataTraits >
template<size_t columnCount>
static std::array<size_t, columnCount> momo::internal::DataIndexes< TColumnList, TDataTraits >::GetSortedOffsets ( const std::array< size_t, columnCount > &  offsets)
inlinestatic

◆ GetTrueIndex() [1/2]

template<typename TColumnList , typename TDataTraits >
template<size_t columnCount>
MultiHashIndex momo::internal::DataIndexes< TColumnList, TDataTraits >::GetTrueIndex ( MultiHashIndex  multiHashIndex,
const std::array< size_t, columnCount > &  offsets 
) const
inline

◆ GetTrueIndex() [2/2]

template<typename TColumnList , typename TDataTraits >
template<size_t columnCount>
UniqueHashIndex momo::internal::DataIndexes< TColumnList, TDataTraits >::GetTrueIndex ( UniqueHashIndex  uniqueHashIndex,
const std::array< size_t, columnCount > &  offsets 
) const
inline

◆ GetUniqueHashIndex()

template<typename TColumnList , typename TDataTraits >
template<size_t columnCount>
UniqueHashIndex momo::internal::DataIndexes< TColumnList, TDataTraits >::GetUniqueHashIndex ( const std::array< size_t, columnCount > &  offsets) const
inline

◆ operator=()

template<typename TColumnList , typename TDataTraits >
DataIndexes& momo::internal::DataIndexes< TColumnList, TDataTraits >::operator= ( const DataIndexes< TColumnList, TDataTraits > &  )
delete

◆ RemoveMultiHashIndexes()

template<typename TColumnList , typename TDataTraits >
void momo::internal::DataIndexes< TColumnList, TDataTraits >::RemoveMultiHashIndexes ( )
inlinenoexcept

◆ RemoveRaw()

template<typename TColumnList , typename TDataTraits >
void momo::internal::DataIndexes< TColumnList, TDataTraits >::RemoveRaw ( Raw raw)
inline

◆ RemoveUniqueHashIndexes()

template<typename TColumnList , typename TDataTraits >
void momo::internal::DataIndexes< TColumnList, TDataTraits >::RemoveUniqueHashIndexes ( )
inlinenoexcept

◆ Reserve()

template<typename TColumnList , typename TDataTraits >
void momo::internal::DataIndexes< TColumnList, TDataTraits >::Reserve ( size_t  capacity)
inline

◆ Swap()

template<typename TColumnList , typename TDataTraits >
void momo::internal::DataIndexes< TColumnList, TDataTraits >::Swap ( DataIndexes< TColumnList, TDataTraits > &  indexes)
inlinenoexcept

◆ UpdateRaw() [1/2]

template<typename TColumnList , typename TDataTraits >
Result momo::internal::DataIndexes< TColumnList, TDataTraits >::UpdateRaw ( Raw oldRaw,
Raw newRaw 
)
inline

◆ UpdateRaw() [2/2]

template<typename TColumnList , typename TDataTraits >
template<typename Item , typename ItemAssigner >
Result momo::internal::DataIndexes< TColumnList, TDataTraits >::UpdateRaw ( Raw raw,
size_t  offset,
const Item &  item,
ItemAssigner &&  itemAssigner 
)
inline

The documentation for this class was generated from the following file: