27 #ifndef SET_S_INCLUDED
28 #define SET_S_INCLUDED
35 #include "../base/ver.h"
39 #include "../base/str.h"
42 #ifndef CHECK_INCLUDED
43 #include "../base/check.h"
47 #include "../mem/page.h"
50 #ifndef MPOOL_INCLUDED
51 #include "../mem/mpool.h"
54 #ifndef RELSIZE_INCLUDED
63 #include <unordered_set>
75 static const long SET_S_MAGIC = 0x5354530AL;
84 size_t operator() (T
const & x)
const noexcept
144 bool insert(T elem) {
156 if(Set.insert(elem).second) {
168 bool contains(T elem)
const {
174 return Set.count(elem) > 0;
185 int size_value(relsize_t relsize)
const {
187 CHECK(relsize_valid(relsize),
188 "set_s_c::size_value: invalid size measure");
192 case RELSIZE_OBJ_SIZE:
227 std::unordered_set<T, set_s_hash_c<T> > Set;
Size measures for relation data structures.
#define CHECK_VALID(EX)
Definition: check.h:85
const char * str_t
Definition: str.h:41
#define STR_NULL
Definition: str.h:52
Superclass of all data structures for relations.
#define CHECK(EX, MSG)
Definition: check.h:69