Nebula
Toggle main menu visibility
Loading...
Searching...
No Matches
filterset.h
Go to the documentation of this file.
1
#pragma once
2
//------------------------------------------------------------------------------
13
//------------------------------------------------------------------------------
14
#include "
attributeid.h
"
15
16
namespace
MemDb
17
{
18
19
class
FilterSet
20
{
21
public
:
23
FilterSet
() =
default
;
25
FilterSet
(
const
std::initializer_list<AttributeId>
inclusive
,
const
std::initializer_list<AttributeId>
exclusive
);
27
explicit
FilterSet
(
const
Util::FixedArray<AttributeId>
&
inclusive
);
29
explicit
FilterSet
(
const
Util::FixedArray<AttributeId>
&
inclusive
,
const
Util::FixedArray<AttributeId>
&
exclusive
);
31
explicit
FilterSet
(
const
TableSignature
&
inclusive
,
const
TableSignature
&
exclusive
,
const
Util::FixedArray<AttributeId>
&
inclusiveComponents
);
32
34
TableSignature
const
&
Inclusive
()
const
;
36
TableSignature
const
&
Exclusive
()
const
;
38
Util::FixedArray<AttributeId>
const
&
PropertyIds
()
const
;
39
40
private
:
42
TableSignature
inclusive
;
44
TableSignature
exclusive
;
46
Util::FixedArray<AttributeId>
inclusiveComponents
;
47
};
48
49
//------------------------------------------------------------------------------
52
inline
53
FilterSet::FilterSet
(
const
std::initializer_list<AttributeId>
inclusive
,
const
std::initializer_list<AttributeId>
exclusive
) :
54
inclusive
(
inclusive
),
55
exclusive
(
exclusive
),
56
inclusiveComponents
(
inclusive
)
57
{
58
// empty
59
}
60
61
//------------------------------------------------------------------------------
64
inline
65
FilterSet::FilterSet
(
const
Util::FixedArray<AttributeId>
&
inclusive
) :
66
inclusive
(
inclusive
),
67
exclusive
(),
68
inclusiveComponents
(
inclusive
)
69
{
70
// empty
71
};
72
73
//------------------------------------------------------------------------------
76
inline
77
FilterSet::FilterSet
(
const
Util::FixedArray<AttributeId>
&
inclusive
,
const
Util::FixedArray<AttributeId>
&
exclusive
) :
78
inclusive
(
inclusive
),
79
exclusive
(
exclusive
),
80
inclusiveComponents
(
inclusive
)
81
{
82
// empty
83
}
84
//------------------------------------------------------------------------------
87
inline
88
FilterSet::FilterSet
(
const
TableSignature
&
inclusive
,
const
TableSignature
&
exclusive
,
const
Util::FixedArray<AttributeId>
&
inclusiveComponents
) :
89
inclusive
(
inclusive
),
90
exclusive
(
exclusive
),
91
inclusiveComponents
(
inclusiveComponents
)
92
{
93
}
94
;
95
96
//------------------------------------------------------------------------------
99
inline
TableSignature
const
&
100
FilterSet::Inclusive
()
const
101
{
102
return
this->
inclusive
;
103
}
104
105
//------------------------------------------------------------------------------
108
inline
TableSignature
const
&
109
FilterSet::Exclusive
()
const
110
{
111
return
this->
exclusive
;
112
}
113
114
//------------------------------------------------------------------------------
117
inline
Util::FixedArray<AttributeId>
const
&
118
FilterSet::PropertyIds
()
const
119
{
120
return
this->
inclusiveComponents
;
121
}
122
123
}
// namespace MemDb
attributeid.h
MemDb::FilterSet::exclusive
TableSignature exclusive
categories must NOT contain any components in this array
Definition
filterset.h:44
MemDb::FilterSet::inclusiveComponents
Util::FixedArray< AttributeId > inclusiveComponents
components that are in the inclusive set
Definition
filterset.h:46
MemDb::FilterSet::inclusive
TableSignature inclusive
categories must include all components in this signature
Definition
filterset.h:42
MemDb::FilterSet::PropertyIds
Util::FixedArray< AttributeId > const & PropertyIds() const
get a fixed array of all the components contained in the inclusive set
Definition
filterset.h:118
MemDb::FilterSet::Exclusive
TableSignature const & Exclusive() const
get the exclusive signature mask
Definition
filterset.h:109
MemDb::FilterSet::Inclusive
TableSignature const & Inclusive() const
get the inclusive signature mask
Definition
filterset.h:100
MemDb::FilterSet::FilterSet
FilterSet()=default
default constructor
MemDb::TableSignature
Basically a bitfield with packed ComponentIds.
Definition
tablesignature.h:26
Util::FixedArray
Implements a fixed size one-dimensional array.
Definition
fixedarray.h:20
MemDb
Attribute.
Definition
attribute.h:26
code
addons
memdb
filterset.h
Generated on
for Nebula. Dark theme by
Tilen Majerle
. All rights reserved.