replace the deprecated is_pod_v with is_trivial_v

is_pod_v was deprecated in C++20, is_pod_v can be
replaced with is_trivial_v && is_standard_layout_v.
I don't see any benefit from is_standard_layout_v,
but I could have missed something.
This commit is contained in:
Bernd Amend 2021-05-22 14:43:33 +02:00
parent cf7821cb1e
commit 1302e28e32

View File

@ -36,14 +36,14 @@ namespace chaiscript
struct Handle_Return
{
template<typename T,
typename = std::enable_if_t<std::is_pod_v<std::decay_t<T>>>>
typename = typename std::enable_if_t<std::is_trivial_v<typename std::decay_t<T>>>>
static Boxed_Value handle(T r)
{
return Boxed_Value(std::move(r), true);
}
template<typename T,
typename = std::enable_if_t<!std::is_pod_v<std::decay_t<T>>>>
typename = typename std::enable_if_t<!(std::is_trivial_v<typename std::decay_t<T>>)>>
static Boxed_Value handle(T &&r)
{
return Boxed_Value(std::make_shared<T>(std::forward<T>(r)), true);