28 using value_type = void;
29 using difference_type = ptrdiff_t;
31 using reference = void;
40 using set_t = robin_hood::unordered_flat_set<uint64_t>;
53 ibf_bin_idx{ibf_bin_index},
60 [[gnu::always_inline, gnu::flatten]]
inline insert_iterator & operator=(uint64_t
const value)
noexcept
62 assert(ptr !=
nullptr);
67 case data_type::unordered_set:
68 static_cast<set_t *
>(ptr)->emplace(value);
70 case data_type::sketch:
71 static_cast<sketch_t *
>(ptr)->add(value);
74 static_cast<ibf_t *
>(ptr)->emplace(value,
static_cast<bin_index>(ibf_bin_idx));
77 assert(type == data_type::function);
78 static_cast<function_t *
>(ptr)->
operator()(value);
101 enum class data_type : uint8_t
109 size_t ibf_bin_idx{};