mirror of
https://github.com/ThePhD/sol2.git
synced 2024-03-22 13:10:44 +08:00
weeee gating things
This commit is contained in:
parent
a6186c4666
commit
c61a434561
|
@ -64,7 +64,7 @@ namespace sol {
|
|||
template <typename K, typename V, typename H = std::hash<K>, typename E = std::equal_to<>>
|
||||
using map_t = std::unordered_map<K, V, H, E>;
|
||||
#endif // Boost map target
|
||||
}
|
||||
} // namespace usertype_detail
|
||||
|
||||
namespace detail {
|
||||
#ifdef SOL_NOEXCEPT_FUNCTION_TYPE
|
||||
|
@ -115,7 +115,7 @@ namespace sol {
|
|||
|
||||
namespace detail {
|
||||
struct non_lua_nil_t {};
|
||||
}
|
||||
} // namespace detail
|
||||
|
||||
struct metatable_t {};
|
||||
const metatable_t metatable_key = {};
|
||||
|
@ -609,8 +609,7 @@ namespace sol {
|
|||
};
|
||||
|
||||
inline const std::string& to_string(call_status c) {
|
||||
static const std::array<std::string, 10> names{ {
|
||||
"ok",
|
||||
static const std::array<std::string, 10> names{ { "ok",
|
||||
"yielded",
|
||||
"runtime",
|
||||
"memory",
|
||||
|
@ -619,8 +618,7 @@ namespace sol {
|
|||
"syntax",
|
||||
"file",
|
||||
"CRITICAL_EXCEPTION_FAILURE",
|
||||
"CRITICAL_INDETERMINATE_STATE_FAILURE"
|
||||
} };
|
||||
"CRITICAL_INDETERMINATE_STATE_FAILURE" } };
|
||||
switch (c) {
|
||||
case call_status::ok:
|
||||
return names[0];
|
||||
|
@ -662,15 +660,13 @@ namespace sol {
|
|||
}
|
||||
|
||||
inline const std::string& to_string(load_status c) {
|
||||
static const std::array<std::string, 7> names{ {
|
||||
"ok",
|
||||
static const std::array<std::string, 7> names{ { "ok",
|
||||
"memory",
|
||||
"gc",
|
||||
"syntax",
|
||||
"file",
|
||||
"CRITICAL_EXCEPTION_FAILURE",
|
||||
"CRITICAL_INDETERMINATE_STATE_FAILURE"
|
||||
} };
|
||||
"CRITICAL_INDETERMINATE_STATE_FAILURE" } };
|
||||
switch (c) {
|
||||
case load_status::ok:
|
||||
return names[0];
|
||||
|
@ -772,8 +768,7 @@ namespace sol {
|
|||
"__ipairs",
|
||||
"next",
|
||||
"__type",
|
||||
"__typeinfo"
|
||||
} };
|
||||
"__typeinfo" } };
|
||||
return names;
|
||||
}
|
||||
|
||||
|
@ -830,19 +825,10 @@ namespace sol {
|
|||
struct is_container<T, std::enable_if_t<meta::is_string_like<meta::unqualified_t<T>>::value>> : std::false_type {};
|
||||
|
||||
template <typename T>
|
||||
struct is_container<T, std::enable_if_t<meta::all<
|
||||
std::is_array<meta::unqualified_t<T>>
|
||||
, meta::neg<meta::any_same<std::remove_all_extents_t<meta::unqualified_t<T>>, char, wchar_t, char16_t, char32_t>>
|
||||
>::value
|
||||
>> : std::true_type {};
|
||||
struct is_container<T, std::enable_if_t<meta::all<std::is_array<meta::unqualified_t<T>>, meta::neg<meta::any_same<std::remove_all_extents_t<meta::unqualified_t<T>>, char, wchar_t, char16_t, char32_t>>>::value>> : std::true_type {};
|
||||
|
||||
template <typename T>
|
||||
struct is_container<T, std::enable_if_t<meta::all<
|
||||
meta::has_begin_end<meta::unqualified_t<T>>
|
||||
, meta::neg<is_initializer_list<meta::unqualified_t<T>>>
|
||||
, meta::neg<meta::is_string_like<meta::unqualified_t<T>>>
|
||||
>::value
|
||||
>> : std::true_type {};
|
||||
struct is_container<T, std::enable_if_t<meta::all<meta::has_begin_end<meta::unqualified_t<T>>, meta::neg<is_initializer_list<meta::unqualified_t<T>>>, meta::neg<meta::is_string_like<meta::unqualified_t<T>>>>::value>> : std::true_type {};
|
||||
} // namespace detail
|
||||
|
||||
template <typename T>
|
||||
|
@ -996,8 +982,10 @@ namespace sol {
|
|||
template <typename T>
|
||||
struct lua_type_of<optional<T>> : std::integral_constant<type, type::poly> {};
|
||||
|
||||
#if defined(SOL_CXX17_FEATURES) && SOL_CXX17_FEATURES
|
||||
template <typename T>
|
||||
struct lua_type_of<std::optional<T>> : std::integral_constant<type, type::poly> {};
|
||||
#endif // std::optional
|
||||
|
||||
template <>
|
||||
struct lua_type_of<variadic_args> : std::integral_constant<type, type::poly> {};
|
||||
|
@ -1129,6 +1117,10 @@ namespace sol {
|
|||
struct is_lua_primitive<light<T>> : is_lua_primitive<T*> {};
|
||||
template <typename T>
|
||||
struct is_lua_primitive<optional<T>> : std::true_type {};
|
||||
#if defined(SOL_CXX17_FEATURES) && SOL_CXX17_FEATURES
|
||||
template <typename T>
|
||||
struct is_lua_primitive<std::optional<T>> : std::true_type {};
|
||||
#endif
|
||||
template <typename T>
|
||||
struct is_lua_primitive<as_table_t<T>> : std::true_type {};
|
||||
template <typename T>
|
||||
|
|
Loading…
Reference in New Issue
Block a user