mirror of https://github.com/daleclack/My_GtkUi
Update toml library
This commit is contained in:
parent
5244ae0adf
commit
4c3c388cbd
|
@ -4636,7 +4636,7 @@ TOML_IMPL_NAMESPACE_START
|
|||
{
|
||||
template <typename T>
|
||||
TOML_NODISCARD
|
||||
static std::string make(T&& arg) noexcept
|
||||
static std::string make(T&& arg)
|
||||
{
|
||||
using arg_type = std::decay_t<T>;
|
||||
#if TOML_HAS_CHAR8
|
||||
|
@ -4721,6 +4721,14 @@ TOML_IMPL_NAMESPACE_START
|
|||
}
|
||||
return { static_cast<T>(val) };
|
||||
}
|
||||
|
||||
template <typename...>
|
||||
struct value_variadic_ctor_allowed : std::true_type
|
||||
{};
|
||||
|
||||
template <typename T, typename... Args>
|
||||
struct value_variadic_ctor_allowed<value<T>, value<T>, Args...> : std::false_type
|
||||
{};
|
||||
}
|
||||
TOML_IMPL_NAMESPACE_END;
|
||||
|
||||
|
@ -4759,7 +4767,9 @@ TOML_NAMESPACE_START
|
|||
std::string_view,
|
||||
std::conditional_t<impl::is_one_of<value_type, double, int64_t, bool>, value_type, const value_type&>>);
|
||||
|
||||
template <typename... Args>
|
||||
TOML_HIDDEN_CONSTRAINT(
|
||||
(impl::value_variadic_ctor_allowed<value<ValueType>, impl::remove_cvref<Args>...>::value),
|
||||
typename... Args)
|
||||
TOML_NODISCARD_CTOR
|
||||
explicit value(Args&&... args) noexcept(noexcept(value_type(
|
||||
impl::native_value_maker<value_type, std::decay_t<Args>...>::make(static_cast<Args&&>(args)...))))
|
||||
|
@ -4796,7 +4806,7 @@ TOML_NAMESPACE_START
|
|||
value(value&& other) noexcept //
|
||||
: node(std::move(other)),
|
||||
val_{ std::move(other.val_) },
|
||||
flags_{ other.flags_ }
|
||||
flags_{ std::exchange(other.flags_, value_flags{}) }
|
||||
{
|
||||
#if TOML_LIFETIME_HOOKS
|
||||
TOML_VALUE_CREATED;
|
||||
|
@ -4812,6 +4822,7 @@ TOML_NAMESPACE_START
|
|||
#if TOML_LIFETIME_HOOKS
|
||||
TOML_VALUE_CREATED;
|
||||
#endif
|
||||
other.flags_ = {};
|
||||
}
|
||||
|
||||
value& operator=(const value& rhs) noexcept
|
||||
|
@ -4828,7 +4839,7 @@ TOML_NAMESPACE_START
|
|||
{
|
||||
node::operator=(std::move(rhs));
|
||||
val_ = std::move(rhs.val_);
|
||||
flags_ = rhs.flags_;
|
||||
flags_ = std::exchange(rhs.flags_, value_flags{});
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
@ -5316,6 +5327,8 @@ TOML_NAMESPACE_START
|
|||
|
||||
template <typename T>
|
||||
value(T) -> value<impl::native_type_of<impl::remove_cvref<T>>>;
|
||||
template <typename T>
|
||||
value(T, value_flags) -> value<impl::native_type_of<impl::remove_cvref<T>>>;
|
||||
|
||||
template <typename T>
|
||||
TOML_NODISCARD
|
||||
|
@ -5649,7 +5662,7 @@ TOML_IMPL_NAMESPACE_START
|
|||
// copy/move ctor
|
||||
if constexpr (std::is_same_v<remove_cvref<T>, value_type>)
|
||||
{
|
||||
out = new value_type{ static_cast<T&&>(val) };
|
||||
out = new value_type{ static_cast<T&&>(val), flags };
|
||||
}
|
||||
|
||||
// creating from raw value
|
||||
|
@ -5683,10 +5696,10 @@ TOML_IMPL_NAMESPACE_START
|
|||
}
|
||||
else
|
||||
out = new value_type{ static_cast<T&&>(val) };
|
||||
}
|
||||
|
||||
if (flags != preserve_source_value_flags)
|
||||
out->flags(flags);
|
||||
}
|
||||
|
||||
return out;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue