12 template<
typename Interface>
15 template<
typename... Methods>
18 static_assert(
sizeof...(Methods) > 0,
"Cannot create an InlineVTable with 0 methods.");
24 template<
typename Storage, concepts::AnyStorable<Storage> T>
34 template<concepts::OneOf<meta::Type<Methods>...> Method>
36 constexpr auto index = meta::Lookup<Method, meta::List<meta::Type<Methods>...>>;
41 constexpr Invoke(Storage storage) : m_storage(
di::move(storage)) {}
Definition inline_vtable.h:13
constexpr Invoke()
Definition inline_vtable.h:29
static constexpr auto create_for() -> Invoke
Definition inline_vtable.h:25
constexpr auto empty() const -> bool
Definition inline_vtable.h:31
constexpr auto operator[](Method) const
Definition inline_vtable.h:35
constexpr void reset()
Definition inline_vtable.h:32
Definition tuple_forward_declaration.h:5
constexpr auto get(T &&value) -> decltype(auto)
Definition get.h:8
Definition zstring_parser.h:9
constexpr auto make_tuple(Args &&... args)
Definition make_tuple.h:9
Definition inline_vtable.h:11
Definition erased_call.h:15