#pragma once #include #include namespace meta { template typename Template> struct variant_wrap; template typename Template> using variant_wrap_t = typename variant_wrap::type; template struct tuple_to_variant; template using tuple_to_variant_t = typename tuple_to_variant::type; template constexpr auto variant_construct(size_t) noexcept; template struct index_in_variant; template constexpr auto index_in_variant_v = index_in_variant::value; }