taco-db
0.1.0
|
#include <utility>
#include <cstdint>
#include <absl/strings/string_view.h>
Go to the source code of this file.
Namespaces | |
taco | |
Macros | |
#define | STRINGIFY_HELPER(_1) #_1 |
#define | STRINGIFY(_1) STRINGIFY_HELPER(_1) |
#define | CONCAT_HELPER(_1, _2) _1 ## _2 |
#define | CONCAT(_1, _2) CONCAT_HELPER(_1, _2) |
#define | CONCAT3_HELPER(_1, _2, _3) _1 ## _2 ## _3 |
#define | CONCAT3(_1, _2, _3) CONCAT3_HELPER(_1, _2, _3) |
#define | SELECT_FIRST(...) SELECT_FIRST_HELPER(__VA_ARGS__, garbage) |
#define | SELECT_FIRST_HELPER(first, ...) first |
#define | SELECT_SECOND(...) SELECT_SECOND_HELPER(__VA_ARGS__, , garbage) |
#define | SELECT_SECOND_HELPER(first, second, ...) second |
#define | NOT(boolean_var) CONCAT(NOT_HELPER_, boolean_var) |
#define | NOT_HELPER_true false |
#define | NOT_HELPER_false true |
#define | IF_NONEMPTY(arg, ...) CONCAT(SELECT_, CONCAT(IF_NONEMPTY_HELPER_, IS_EMPTY(arg))) (__VA_ARGS__) |
#define | IF_NONEMPTY_HELPER_true SECOND |
#define | IF_NONEMPTY_HELPER_false FIRST |
#define | IF_EMPTY(arg, ...) CONCAT(SELECT_, CONCAT(IF_NONEMPTY_HELPER_, NOT(IS_EMPTY(arg)))) (__VA_ARGS__) |
#define | COMMA_true , |
#define | COMMA_false |
#define | IF_NONEMPTY_COMMA(arg, if_branch) IF_NONEMPTY(arg, if_branch) CONCAT(COMMA_, NOT(IS_EMPTY(arg))) |
#define | IF_EMPTY_COMMA(arg, if_branch) IF_EMPTY(arg, if_branch) CONCAT(COMMA_, IS_EMPTY(arg)) |
#define | IF_BOOLEAN_LITERAL(arg, ...) IF_EMPTY(CONCAT(IF_BOOLEAN_LITERAL_HELPER_, arg), __VA_ARGS__) |
#define | IF_BOOLEAN_LITERAL_HELPER_true |
#define | IF_BOOLEAN_LITERAL_HELPER_false |
#define | EXPAND_TO_COMMA(...) , |
#define | HAS_COMMA_1_HELPER(_1, _2, _3, ...) _3 |
#define | HAS_COMMA_1(...) HAS_COMMA_1_HELPER(__VA_ARGS__, t, f) |
#define | IS_EMPTY(arg) |
#define | IS_EMPTY_HELPER_tf true |
#define | IS_EMPTY_HELPER_ff false |
#define | IS_EMPTY_HELPER_tt false |
#define | IS_NONEMPTY(arg) NOT(IS_EMPTY(arg)) |
#define | HAS_AT_MOST_ONE___VA_ARGS__(...) |
#define | HAS_AT_MOST_ONE___VA_ARGS___HELPER(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, ...) a33 |
#define | CAR SELECT_FIRST |
#define | CDR(...) CONCAT(CDR_IS_EMPTY_, IS_EMPTY(CAR(__VA_ARGS__)))(__VA_ARGS__) |
#define | CDR_IS_EMPTY_true(...) |
#define | CDR_IS_EMPTY_false(...) CONCAT(CDR_HELPER_, HAS_AT_MOST_ONE___VA_ARGS__(__VA_ARGS__))(__VA_ARGS__) |
#define | CDR_HELPER_t(...) |
#define | CDR_HELPER_f(first, ...) __VA_ARGS__ |
#define | CADR(...) CAR(CDR(__VA_ARGS__)) |
#define | CADDR(...) CAR(CDR(CDR(__VA_ARGS__))) |
#define | CADDDR(...) CAR(CDR(CDR(CDR(__VA_ARGS__)))) |
#define | CADDDDR(...) CAR(CDR(CDR(CDR(CDR(__VA_ARGS__))))) |
#define | CDDDDDR(...) CDR(CDR(CDR(CDR(CDR(__VA_ARGS__))))) |
#define | LogTableLT(n) n, n, n, n, n, n, n, n, n, n, n, n, n, n, n, n |
Functions | |
template<class Container , class Arg0 , class ... Args> | |
void | taco::emplace_back_parameter_pack (Container &c, Arg0 &&arg0, Args &&...args) |
template<class Container > | |
void | taco::emplace_back_parameter_pack (Container &c) |
constexpr int | taco::logn_floor (uint64_t x) |
Returns $\lfloor log_2(x) \rfloor$ for x > 0, or 0 for x = 0. More... | |
constexpr int | taco::logn_ceil (uint64_t x) |
Returns $\lceil log_2(x) \rceil$ for x > 0, or 0 for x = 0. More... | |
bool | taco::FilePathIsTDBFilePath (absl::string_view filepath) |
Returns true if filepath belongs to tdb source code path. More... | |
absl::string_view | taco::StripSourcePath (absl::string_view path) |
uint64_t | taco::GetCurrentDataSize () |
Returns the approximate size of heap-allocated memory in bytes. More... | |
Variables | |
static constexpr char | taco::LogTable256 [256] |
#define CAR SELECT_FIRST |
#define CDR_HELPER_f | ( | first, | |
... | |||
) | __VA_ARGS__ |
#define CDR_HELPER_t | ( | ... | ) |
#define CDR_IS_EMPTY_false | ( | ... | ) | CONCAT(CDR_HELPER_, HAS_AT_MOST_ONE___VA_ARGS__(__VA_ARGS__))(__VA_ARGS__) |
#define CDR_IS_EMPTY_true | ( | ... | ) |
#define COMMA_false |
#define COMMA_true , |
#define CONCAT | ( | _1, | |
_2 | |||
) | CONCAT_HELPER(_1, _2) |
#define CONCAT3 | ( | _1, | |
_2, | |||
_3 | |||
) | CONCAT3_HELPER(_1, _2, _3) |
#define CONCAT3_HELPER | ( | _1, | |
_2, | |||
_3 | |||
) | _1 ## _2 ## _3 |
#define CONCAT_HELPER | ( | _1, | |
_2 | |||
) | _1 ## _2 |
#define EXPAND_TO_COMMA | ( | ... | ) | , |
#define HAS_AT_MOST_ONE___VA_ARGS__ | ( | ... | ) |
#define HAS_AT_MOST_ONE___VA_ARGS___HELPER | ( | a1, | |
a2, | |||
a3, | |||
a4, | |||
a5, | |||
a6, | |||
a7, | |||
a8, | |||
a9, | |||
a10, | |||
a11, | |||
a12, | |||
a13, | |||
a14, | |||
a15, | |||
a16, | |||
a17, | |||
a18, | |||
a19, | |||
a20, | |||
a21, | |||
a22, | |||
a23, | |||
a24, | |||
a25, | |||
a26, | |||
a27, | |||
a28, | |||
a29, | |||
a30, | |||
a31, | |||
a32, | |||
a33, | |||
a34, | |||
... | |||
) | a33 |
#define HAS_COMMA_1 | ( | ... | ) | HAS_COMMA_1_HELPER(__VA_ARGS__, t, f) |
#define HAS_COMMA_1_HELPER | ( | _1, | |
_2, | |||
_3, | |||
... | |||
) | _3 |
#define IF_BOOLEAN_LITERAL | ( | arg, | |
... | |||
) | IF_EMPTY(CONCAT(IF_BOOLEAN_LITERAL_HELPER_, arg), __VA_ARGS__) |
#define IF_BOOLEAN_LITERAL_HELPER_false |
#define IF_BOOLEAN_LITERAL_HELPER_true |
#define IF_EMPTY | ( | arg, | |
... | |||
) | CONCAT(SELECT_, CONCAT(IF_NONEMPTY_HELPER_, NOT(IS_EMPTY(arg)))) (__VA_ARGS__) |
#define IF_NONEMPTY | ( | arg, | |
... | |||
) | CONCAT(SELECT_, CONCAT(IF_NONEMPTY_HELPER_, IS_EMPTY(arg))) (__VA_ARGS__) |
#define IF_NONEMPTY_COMMA | ( | arg, | |
if_branch | |||
) | IF_NONEMPTY(arg, if_branch) CONCAT(COMMA_, NOT(IS_EMPTY(arg))) |
#define IF_NONEMPTY_HELPER_false FIRST |
#define IF_NONEMPTY_HELPER_true SECOND |
#define IS_EMPTY | ( | arg | ) |
#define IS_EMPTY_HELPER_ff false |
#define IS_EMPTY_HELPER_tf true |
#define IS_EMPTY_HELPER_tt false |
#define LogTableLT | ( | n | ) | n, n, n, n, n, n, n, n, n, n, n, n, n, n, n, n |
#define NOT | ( | boolean_var | ) | CONCAT(NOT_HELPER_, boolean_var) |
#define NOT_HELPER_false true |
#define NOT_HELPER_true false |
#define SELECT_FIRST | ( | ... | ) | SELECT_FIRST_HELPER(__VA_ARGS__, garbage) |
#define SELECT_FIRST_HELPER | ( | first, | |
... | |||
) | first |
#define SELECT_SECOND | ( | ... | ) | SELECT_SECOND_HELPER(__VA_ARGS__, , garbage) |
#define SELECT_SECOND_HELPER | ( | first, | |
second, | |||
... | |||
) | second |
#define STRINGIFY | ( | _1 | ) | STRINGIFY_HELPER(_1) |
#define STRINGIFY_HELPER | ( | _1 | ) | #_1 |