zengine-old/engine/3rdparty/zlib/include/meta/variant.h
2024-06-16 22:52:45 +08:00

26 lines
712 B
C++

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