mirror of
https://github.com/enduro2d/enduro2d.git
synced 2025-12-16 14:08:59 +07:00
remove stdex::is_detected and stdex::void_t
This commit is contained in:
@@ -8,48 +8,6 @@
|
|||||||
|
|
||||||
#include "macros.hpp"
|
#include "macros.hpp"
|
||||||
|
|
||||||
//
|
|
||||||
// void_t
|
|
||||||
//
|
|
||||||
|
|
||||||
namespace e2d { namespace stdex
|
|
||||||
{
|
|
||||||
namespace impl
|
|
||||||
{
|
|
||||||
template < typename... Args >
|
|
||||||
struct make_void {
|
|
||||||
using type = void;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
template < typename... Args >
|
|
||||||
using void_t = typename impl::make_void<Args...>::type;
|
|
||||||
}}
|
|
||||||
|
|
||||||
//
|
|
||||||
// is_detected
|
|
||||||
//
|
|
||||||
|
|
||||||
namespace e2d { namespace stdex
|
|
||||||
{
|
|
||||||
namespace impl
|
|
||||||
{
|
|
||||||
template < template <typename...> class Op
|
|
||||||
, typename AlwaysVoid
|
|
||||||
, typename... Args >
|
|
||||||
struct is_detected
|
|
||||||
: std::false_type {};
|
|
||||||
|
|
||||||
template < template <typename...> class Op
|
|
||||||
, typename... Args >
|
|
||||||
struct is_detected<Op, stdex::void_t<Op<Args...>>, Args...>
|
|
||||||
: std::true_type {};
|
|
||||||
}
|
|
||||||
|
|
||||||
template < template <typename...> class Op, typename... Args >
|
|
||||||
using is_detected = typename impl::is_detected<Op, void, Args...>::type;
|
|
||||||
}}
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// basic_string_view
|
// basic_string_view
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -118,16 +118,7 @@ namespace e2d { namespace json_utils
|
|||||||
namespace e2d { namespace json_utils
|
namespace e2d { namespace json_utils
|
||||||
{
|
{
|
||||||
template < typename T >
|
template < typename T >
|
||||||
using has_try_parse_value = decltype(
|
bool try_parse_value(const rapidjson::Value& root, vector<T>& v) {
|
||||||
try_parse_value(
|
|
||||||
std::declval<const rapidjson::Value&>(),
|
|
||||||
std::declval<T&>()));
|
|
||||||
|
|
||||||
template < typename T >
|
|
||||||
std::enable_if_t<
|
|
||||||
stdex::is_detected<json_utils::has_try_parse_value, T>::value,
|
|
||||||
bool>
|
|
||||||
try_parse_value(const rapidjson::Value& root, vector<T>& v) {
|
|
||||||
if ( !root.IsArray() ) {
|
if ( !root.IsArray() ) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user