momo  3.9
momo::internal::DataSelection< TRowReference, TDataTraits > Class Template Reference

#include <DataSelection.h>

Inheritance diagram for momo::internal::DataSelection< TRowReference, TDataTraits >:
momo::internal::VersionKeeper< TRowReference::ColumnList::Settings >

Public Types

typedef TRowReference RowReference
 
typedef TDataTraits DataTraits
 
typedef RowReference::ColumnList ColumnList
 
typedef ColumnList::MemManager MemManager
 
typedef ColumnList::Settings Settings
 
typedef ColumnList::Raw Raw
 
template<typename Item >
using Column = typename ColumnList::template Column< Item >
 
template<typename Item >
using Equality = DataEquality< Column< Item > >
 
typedef DataSelection< ConstRowReference, DataTraitsConstSelection
 
typedef DataRowIterator< RawIterator, RowReferenceConstIterator
 
typedef ConstIterator Iterator
 
template<typename Item >
using ConstItemBounds = DataConstItemBounds< ConstRowBounds, Item >
 

Public Member Functions

 DataSelection ()=delete
 
 DataSelection (DataSelection &&selection) noexcept
 
 DataSelection (const DataSelection &selection)
 
template<typename RowFilter >
 DataSelection (const DataSelection &selection, const RowFilter &rowFilter)
 
 ~DataSelection ()=default
 
DataSelectionoperator= (DataSelection &&selection) noexcept
 
DataSelectionoperator= (const DataSelection &selection)
 
 operator ConstSelection () &&noexcept
 
 operator ConstSelection () const &
 
void Swap (DataSelection &selection) noexcept
 
ConstIterator GetBegin () const noexcept
 
ConstIterator GetEnd () const noexcept
 
const ColumnListGetColumnList () const noexcept
 
const MemManagerGetMemManager () const noexcept
 
MemManagerGetMemManager () noexcept
 
size_t GetCount () const noexcept
 
bool IsEmpty () const noexcept
 
void Clear () noexcept
 
void Reserve (size_t capacity)
 
const RowReference operator[] (size_t index) const
 
void Set (size_t index, RowReference rowRef)
 
template<typename Item >
ConstItemBounds< Item > GetColumnItems (const Column< Item > &column) const
 
template<typename RowIterator >
void Assign (RowIterator begin, RowIterator end)
 
void Add (RowReference rowRef)
 
template<typename RowIterator >
void Add (RowIterator begin, RowIterator end)
 
void Insert (size_t index, RowReference rowRef)
 
template<typename RowIterator >
void Insert (size_t index, RowIterator begin, RowIterator end)
 
void Remove (size_t index, size_t count=1)
 
template<typename RowFilter >
EnableIf< IsInvocable< const RowFilter &, bool, ConstRowReference >::value, size_t > Remove (const RowFilter &rowFilter)
 
DataSelection && Reverse () &&noexcept
 
DataSelectionReverse () &noexcept
 
template<typename Item , typename... Items>
DataSelection && Sort (const Column< Item > &column, const Column< Items > &... columns) &&
 
template<typename Item , typename... Items>
DataSelectionSort (const Column< Item > &column, const Column< Items > &... columns) &
 
template<typename RowLessFunc >
EnableIf< IsInvocable< const RowLessFunc &, bool, ConstRowReference, ConstRowReference >::value, DataSelection && > Sort (const RowLessFunc &rowLessFunc) &&
 
template<typename RowLessFunc >
EnableIf< IsInvocable< const RowLessFunc &, bool, ConstRowReference, ConstRowReference >::value, DataSelection & > Sort (const RowLessFunc &rowLessFunc) &
 
template<typename Item , typename... Items>
DataSelection && Group (const Column< Item > &column, const Column< Items > &... columns) &&
 
template<typename Item , typename... Items>
DataSelectionGroup (const Column< Item > &column, const Column< Items > &... columns) &
 
template<typename Item , typename... Items>
size_t GetLowerBound (Equality< Item > equal, Equality< Items >... equals) const
 
template<typename Item , typename... Items>
size_t GetUpperBound (Equality< Item > equal, Equality< Items >... equals) const
 
template<typename RowPredicate >
size_t BinarySearch (const RowPredicate &rowPred) const
 

Protected Types

typedef internal::VersionKeeper< SettingsVersionKeeper
 
typedef Array< Raw *, MemManager, ArrayItemTraits< Raw *, MemManager >, NestedArraySettings< typename Settings::SelectionRawsSettings > > Raws
 

Protected Member Functions

 DataSelection (const ColumnList *columnList, Raws &&raws, VersionKeeper version) noexcept
 

Member Typedef Documentation

◆ Column

template<typename TRowReference , typename TDataTraits >
template<typename Item >
using momo::internal::DataSelection< TRowReference, TDataTraits >::Column = typename ColumnList::template Column<Item>

◆ ColumnList

template<typename TRowReference , typename TDataTraits >
typedef RowReference::ColumnList momo::internal::DataSelection< TRowReference, TDataTraits >::ColumnList

◆ ConstItemBounds

template<typename TRowReference , typename TDataTraits >
template<typename Item >
using momo::internal::DataSelection< TRowReference, TDataTraits >::ConstItemBounds = DataConstItemBounds<ConstRowBounds, Item>

◆ ConstIterator

template<typename TRowReference , typename TDataTraits >
typedef DataRowIterator<RawIterator, RowReference> momo::internal::DataSelection< TRowReference, TDataTraits >::ConstIterator

◆ ConstSelection

template<typename TRowReference , typename TDataTraits >
typedef DataSelection<ConstRowReference, DataTraits> momo::internal::DataSelection< TRowReference, TDataTraits >::ConstSelection

◆ DataTraits

template<typename TRowReference , typename TDataTraits >
typedef TDataTraits momo::internal::DataSelection< TRowReference, TDataTraits >::DataTraits

◆ Equality

template<typename TRowReference , typename TDataTraits >
template<typename Item >
using momo::internal::DataSelection< TRowReference, TDataTraits >::Equality = DataEquality<Column<Item> >

◆ Iterator

template<typename TRowReference , typename TDataTraits >
typedef ConstIterator momo::internal::DataSelection< TRowReference, TDataTraits >::Iterator

◆ MemManager

template<typename TRowReference , typename TDataTraits >
typedef ColumnList::MemManager momo::internal::DataSelection< TRowReference, TDataTraits >::MemManager

◆ Raw

template<typename TRowReference , typename TDataTraits >
typedef ColumnList::Raw momo::internal::DataSelection< TRowReference, TDataTraits >::Raw

◆ Raws

template<typename TRowReference , typename TDataTraits >
typedef Array<Raw*, MemManager, ArrayItemTraits<Raw*, MemManager>, NestedArraySettings<typename Settings::SelectionRawsSettings> > momo::internal::DataSelection< TRowReference, TDataTraits >::Raws
protected

◆ RowReference

template<typename TRowReference , typename TDataTraits >
typedef TRowReference momo::internal::DataSelection< TRowReference, TDataTraits >::RowReference

◆ Settings

template<typename TRowReference , typename TDataTraits >
typedef ColumnList::Settings momo::internal::DataSelection< TRowReference, TDataTraits >::Settings

◆ VersionKeeper

template<typename TRowReference , typename TDataTraits >
typedef internal::VersionKeeper<Settings> momo::internal::DataSelection< TRowReference, TDataTraits >::VersionKeeper
protected

Constructor & Destructor Documentation

◆ DataSelection() [1/5]

template<typename TRowReference , typename TDataTraits >
momo::internal::DataSelection< TRowReference, TDataTraits >::DataSelection ( )
delete

◆ DataSelection() [2/5]

template<typename TRowReference , typename TDataTraits >
momo::internal::DataSelection< TRowReference, TDataTraits >::DataSelection ( DataSelection< TRowReference, TDataTraits > &&  selection)
inlinenoexcept

◆ DataSelection() [3/5]

template<typename TRowReference , typename TDataTraits >
momo::internal::DataSelection< TRowReference, TDataTraits >::DataSelection ( const DataSelection< TRowReference, TDataTraits > &  selection)
inline

◆ DataSelection() [4/5]

template<typename TRowReference , typename TDataTraits >
template<typename RowFilter >
momo::internal::DataSelection< TRowReference, TDataTraits >::DataSelection ( const DataSelection< TRowReference, TDataTraits > &  selection,
const RowFilter &  rowFilter 
)
inlineexplicit

◆ ~DataSelection()

template<typename TRowReference , typename TDataTraits >
momo::internal::DataSelection< TRowReference, TDataTraits >::~DataSelection ( )
default

◆ DataSelection() [5/5]

template<typename TRowReference , typename TDataTraits >
momo::internal::DataSelection< TRowReference, TDataTraits >::DataSelection ( const ColumnList columnList,
Raws &&  raws,
VersionKeeper  version 
)
inlineexplicitprotectednoexcept

Member Function Documentation

◆ Add() [1/2]

template<typename TRowReference , typename TDataTraits >
template<typename RowIterator >
void momo::internal::DataSelection< TRowReference, TDataTraits >::Add ( RowIterator  begin,
RowIterator  end 
)
inline

◆ Add() [2/2]

template<typename TRowReference , typename TDataTraits >
void momo::internal::DataSelection< TRowReference, TDataTraits >::Add ( RowReference  rowRef)
inline

◆ Assign()

template<typename TRowReference , typename TDataTraits >
template<typename RowIterator >
void momo::internal::DataSelection< TRowReference, TDataTraits >::Assign ( RowIterator  begin,
RowIterator  end 
)
inline

◆ BinarySearch()

template<typename TRowReference , typename TDataTraits >
template<typename RowPredicate >
size_t momo::internal::DataSelection< TRowReference, TDataTraits >::BinarySearch ( const RowPredicate &  rowPred) const
inline

◆ Clear()

template<typename TRowReference , typename TDataTraits >
void momo::internal::DataSelection< TRowReference, TDataTraits >::Clear ( )
inlinenoexcept

◆ GetBegin()

template<typename TRowReference , typename TDataTraits >
ConstIterator momo::internal::DataSelection< TRowReference, TDataTraits >::GetBegin ( ) const
inlinenoexcept

◆ GetColumnItems()

template<typename TRowReference , typename TDataTraits >
template<typename Item >
ConstItemBounds<Item> momo::internal::DataSelection< TRowReference, TDataTraits >::GetColumnItems ( const Column< Item > &  column) const
inline

◆ GetColumnList()

template<typename TRowReference , typename TDataTraits >
const ColumnList& momo::internal::DataSelection< TRowReference, TDataTraits >::GetColumnList ( ) const
inlinenoexcept

◆ GetCount()

template<typename TRowReference , typename TDataTraits >
size_t momo::internal::DataSelection< TRowReference, TDataTraits >::GetCount ( ) const
inlinenoexcept

◆ GetEnd()

template<typename TRowReference , typename TDataTraits >
ConstIterator momo::internal::DataSelection< TRowReference, TDataTraits >::GetEnd ( ) const
inlinenoexcept

◆ GetLowerBound()

template<typename TRowReference , typename TDataTraits >
template<typename Item , typename... Items>
size_t momo::internal::DataSelection< TRowReference, TDataTraits >::GetLowerBound ( Equality< Item >  equal,
Equality< Items >...  equals 
) const
inline

◆ GetMemManager() [1/2]

template<typename TRowReference , typename TDataTraits >
const MemManager& momo::internal::DataSelection< TRowReference, TDataTraits >::GetMemManager ( ) const
inlinenoexcept

◆ GetMemManager() [2/2]

template<typename TRowReference , typename TDataTraits >
MemManager& momo::internal::DataSelection< TRowReference, TDataTraits >::GetMemManager ( )
inlinenoexcept

◆ GetUpperBound()

template<typename TRowReference , typename TDataTraits >
template<typename Item , typename... Items>
size_t momo::internal::DataSelection< TRowReference, TDataTraits >::GetUpperBound ( Equality< Item >  equal,
Equality< Items >...  equals 
) const
inline

◆ Group() [1/2]

template<typename TRowReference , typename TDataTraits >
template<typename Item , typename... Items>
DataSelection& momo::internal::DataSelection< TRowReference, TDataTraits >::Group ( const Column< Item > &  column,
const Column< Items > &...  columns 
) &
inline

◆ Group() [2/2]

template<typename TRowReference , typename TDataTraits >
template<typename Item , typename... Items>
DataSelection&& momo::internal::DataSelection< TRowReference, TDataTraits >::Group ( const Column< Item > &  column,
const Column< Items > &...  columns 
) &&
inline

◆ Insert() [1/2]

template<typename TRowReference , typename TDataTraits >
template<typename RowIterator >
void momo::internal::DataSelection< TRowReference, TDataTraits >::Insert ( size_t  index,
RowIterator  begin,
RowIterator  end 
)
inline

◆ Insert() [2/2]

template<typename TRowReference , typename TDataTraits >
void momo::internal::DataSelection< TRowReference, TDataTraits >::Insert ( size_t  index,
RowReference  rowRef 
)
inline

◆ IsEmpty()

template<typename TRowReference , typename TDataTraits >
bool momo::internal::DataSelection< TRowReference, TDataTraits >::IsEmpty ( ) const
inlinenoexcept

◆ operator ConstSelection() [1/2]

template<typename TRowReference , typename TDataTraits >
momo::internal::DataSelection< TRowReference, TDataTraits >::operator ConstSelection ( ) &&
inlinenoexcept

◆ operator ConstSelection() [2/2]

template<typename TRowReference , typename TDataTraits >
momo::internal::DataSelection< TRowReference, TDataTraits >::operator ConstSelection ( ) const &
inline

◆ operator=() [1/2]

template<typename TRowReference , typename TDataTraits >
DataSelection& momo::internal::DataSelection< TRowReference, TDataTraits >::operator= ( const DataSelection< TRowReference, TDataTraits > &  selection)
inline

◆ operator=() [2/2]

template<typename TRowReference , typename TDataTraits >
DataSelection& momo::internal::DataSelection< TRowReference, TDataTraits >::operator= ( DataSelection< TRowReference, TDataTraits > &&  selection)
inlinenoexcept

◆ operator[]()

template<typename TRowReference , typename TDataTraits >
const RowReference momo::internal::DataSelection< TRowReference, TDataTraits >::operator[] ( size_t  index) const
inline

◆ Remove() [1/2]

template<typename TRowReference , typename TDataTraits >
template<typename RowFilter >
EnableIf<IsInvocable<const RowFilter&, bool, ConstRowReference>::value, size_t> momo::internal::DataSelection< TRowReference, TDataTraits >::Remove ( const RowFilter &  rowFilter)
inline

◆ Remove() [2/2]

template<typename TRowReference , typename TDataTraits >
void momo::internal::DataSelection< TRowReference, TDataTraits >::Remove ( size_t  index,
size_t  count = 1 
)
inline

◆ Reserve()

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

◆ Reverse() [1/2]

template<typename TRowReference , typename TDataTraits >
DataSelection&& momo::internal::DataSelection< TRowReference, TDataTraits >::Reverse ( ) &&
inlinenoexcept

◆ Reverse() [2/2]

template<typename TRowReference , typename TDataTraits >
DataSelection& momo::internal::DataSelection< TRowReference, TDataTraits >::Reverse ( ) &
inlinenoexcept

◆ Set()

template<typename TRowReference , typename TDataTraits >
void momo::internal::DataSelection< TRowReference, TDataTraits >::Set ( size_t  index,
RowReference  rowRef 
)
inline

◆ Sort() [1/4]

template<typename TRowReference , typename TDataTraits >
template<typename Item , typename... Items>
DataSelection& momo::internal::DataSelection< TRowReference, TDataTraits >::Sort ( const Column< Item > &  column,
const Column< Items > &...  columns 
) &
inline

◆ Sort() [2/4]

template<typename TRowReference , typename TDataTraits >
template<typename Item , typename... Items>
DataSelection&& momo::internal::DataSelection< TRowReference, TDataTraits >::Sort ( const Column< Item > &  column,
const Column< Items > &...  columns 
) &&
inline

◆ Sort() [3/4]

template<typename TRowReference , typename TDataTraits >
template<typename RowLessFunc >
EnableIf<IsInvocable<const RowLessFunc&, bool, ConstRowReference, ConstRowReference>::value, DataSelection&> momo::internal::DataSelection< TRowReference, TDataTraits >::Sort ( const RowLessFunc &  rowLessFunc) &
inline

◆ Sort() [4/4]

template<typename TRowReference , typename TDataTraits >
template<typename RowLessFunc >
EnableIf<IsInvocable<const RowLessFunc&, bool, ConstRowReference, ConstRowReference>::value, DataSelection&&> momo::internal::DataSelection< TRowReference, TDataTraits >::Sort ( const RowLessFunc &  rowLessFunc) &&
inline

◆ Swap()

template<typename TRowReference , typename TDataTraits >
void momo::internal::DataSelection< TRowReference, TDataTraits >::Swap ( DataSelection< TRowReference, TDataTraits > &  selection)
inlinenoexcept

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