56 template<
typename ... TYPES>
63 template<
typename ... TYPES>
92 using UnqualifiedType =
typename std::remove_const<typename std::remove_reference<TYPE>::type>::type;
101 template<
typename ... TYPES, std::size_t...Is>
104 (
SetInclusive<
typename std::tuple_element<Is, std::tuple<TYPES...>>::type>(Is), ...);
110 using UnqualifiedType =
typename std::remove_const<typename std::remove_reference<TYPE>::type>::type;
116 template<
typename ... TYPES, std::size_t...Is>
119 (
SetExclusive<
typename std::tuple_element<Is, std::tuple<TYPES...>>::type>(Is), ...);
126template<
typename ... TYPES>
137template<
typename ... TYPES>
typename std::remove_const< typename std::remove_reference< T >::type >::type UnqualifiedType
Removes const reference from T.
Definition message.h:61
void UnrollExclusiveComponents(std::index_sequence< Is... >)
Definition filter.h:117
uint8_t GetNumInclusive()
Definition filter.h:149
static Filter CreateFilter(FilterCreateInfo)
Definition filter.cc:125
Filter Build()
Definition filter.cc:116
FilterCreateInfo info
Definition filter.h:87
void SetExclusive(size_t const i)
Definition filter.h:108
void UnrollInclusiveComponents(std::index_sequence< Is... >)
Definition filter.h:102
FilterBuilder()
Definition filter.cc:75
FilterBuilder & Excluding()
Definition filter.h:139
void SetInclusive(size_t const i)
Definition filter.h:90
FilterBuilder & Including()
Definition filter.h:128
Basically a bitfield with packed ComponentIds.
Definition tablesignature.h:26
Implements a fixed size one-dimensional array.
Definition fixedarray.h:20
#define n_assert(exp)
Definition debug.h:50
Game::EditorState.
Definition orientation.h:7
uint32_t Filter
Opaque filter identifier.
Definition filter.h:26
MemDb::TableSignature InclusiveTableMask
Definition filter.h:28
AccessMode
Definition filter.h:20
@ WRITE
Definition filter.h:22
@ READ
Definition filter.h:21
Util::FixedArray< ComponentId > const & ComponentsInFilter(Filter filter)
retrieve the inclusive component array
Definition filter.cc:49
MemDb::TableSignature ExclusiveTableMask
Definition filter.h:29
ComponentId GetComponentId()
Returns a component id, based on template type.
Definition component.h:120
InclusiveTableMask const & GetInclusiveTableMask(Filter filter)
retrieve the inclusive table mask
Definition filter.cc:31
ExclusiveTableMask const & GetExclusiveTableMask(Filter filter)
retrieve the exclusive table mask
Definition filter.cc:40
void DestroyFilter(Filter)
Destroy a filter.
Definition filter.cc:22
Util::FixedArray< ComponentId > const & ExcludedComponentsInFilter(Filter filter)
retrieve the excluded component array
Definition filter.cc:67
Util::FixedArray< AccessMode > const & AccessModesInFilter(Filter filter)
retrieve the inclusive access mode array
Definition filter.cc:58
static const uint32_t MAX_COMPONENT_BUFFERS
Definition dataset.h:24
AccessMode access
Definition filter.h:49
ComponentId id
Definition filter.h:50
AccessMode access[Dataset::MAX_COMPONENT_BUFFERS]
how we intend to access the components
Definition filter.h:77
uint8_t numInclusive
number of components in the inclusive set
Definition filter.h:73
static const uint32_t MAX_EXCLUSIVE_COMPONENTS
Definition filter.h:70
uint8_t numExclusive
number of components in the exclusive set
Definition filter.h:79
ComponentId inclusive[Dataset::MAX_COMPONENT_BUFFERS]
inclusive set
Definition filter.h:75
ComponentId exclusive[MAX_EXCLUSIVE_COMPONENTS]
exclusive set
Definition filter.h:81
Definition attributeid.h:19