#include <cstddef>
#include <cstring>
#include <lmdb.h>
#include <type_traits>
#include <utility>
#include "span.h"
Go to the source code of this file.
◆ ELECTRONEUM_COMPARE
| #define ELECTRONEUM_COMPARE |
( |
| obj, |
|
|
| field ) |
Value:
decltype(std::declval<obj>().field), \
offsetof(obj, field) \
>
int compare(MDB_val const *left, MDB_val const *right) noexcept
Expands to lmdb::compare for the value field within obj.
Definition at line 51 of file util.h.
51#define ELECTRONEUM_COMPARE(obj, field) \
52 &::lmdb::compare< \
53 decltype(std::declval<obj>().field), \
54 offsetof(obj, field) \
55 >
◆ ELECTRONEUM_FIELD
| #define ELECTRONEUM_FIELD |
( |
| obj, |
|
|
| field ) |
Value:obj , decltype(std::declval<obj>().field) , offsetof(obj, field)
Calculates types and offset of struct field. Use in template arguments for table::get_value, value_iterator::get_value, value_stream::make_iterator, or value_stream::make_range.
Definition at line 40 of file util.h.
40#define ELECTRONEUM_FIELD(obj, field) \
41 obj , decltype(std::declval<obj>().field) , offsetof(obj, field)
◆ ELECTRONEUM_SORT_BY
| #define ELECTRONEUM_SORT_BY |
( |
| obj, |
|
|
| field ) |
Value:
lmdb::native_type<decltype(std::declval<obj>().field)>, \
offsetof(obj, field) \
>
int less(MDB_val const *left, MDB_val const *right) noexcept
Expands to lmdb::less for the value field within obj.
Definition at line 44 of file util.h.
44#define ELECTRONEUM_SORT_BY(obj, field) \
45 &::lmdb::less< \
46 lmdb::native_type<decltype(std::declval<obj>().field)>, \
47 offsetof(obj, field) \
48 >