fast forward variant lib
This commit is contained in:
parent
a5e99a95a3
commit
cdd72c7e56
6
ThirdParty/variant/variant.hpp
vendored
6
ThirdParty/variant/variant.hpp
vendored
@ -487,6 +487,8 @@ private:
|
|||||||
|
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
|
|
||||||
|
struct no_init {};
|
||||||
|
|
||||||
template<typename... Types>
|
template<typename... Types>
|
||||||
class variant
|
class variant
|
||||||
{
|
{
|
||||||
@ -503,12 +505,16 @@ private:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
||||||
VARIANT_INLINE variant()
|
VARIANT_INLINE variant()
|
||||||
: type_index(sizeof...(Types) - 1)
|
: type_index(sizeof...(Types) - 1)
|
||||||
{
|
{
|
||||||
new (&data) typename detail::select_type<0, Types...>::type();
|
new (&data) typename detail::select_type<0, Types...>::type();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VARIANT_INLINE variant(no_init)
|
||||||
|
: type_index(detail::invalid_value) {}
|
||||||
|
|
||||||
template <typename T, class = typename std::enable_if<
|
template <typename T, class = typename std::enable_if<
|
||||||
detail::is_valid_type<T, Types...>::value>::type>
|
detail::is_valid_type<T, Types...>::value>::type>
|
||||||
VARIANT_INLINE explicit variant(T const& val) noexcept
|
VARIANT_INLINE explicit variant(T const& val) noexcept
|
||||||
|
Loading…
Reference in New Issue
Block a user