|
|
@@ -293,7 +293,8 @@ public:
|
|
|
* @tparam Type Type of object to use to initialize the wrapper.
|
|
|
* @param value An instance of an object to use to initialize the wrapper.
|
|
|
*/
|
|
|
- template<typename Type, typename = std::enable_if_t<!std::is_same_v<std::decay_t<Type>, meta_any>>>
|
|
|
+ template<typename Type>
|
|
|
+ requires (!std::same_as<std::remove_cvref_t<Type>, meta_any>)
|
|
|
meta_any(Type &&value)
|
|
|
: meta_any{locator<meta_ctx>::value_or(), std::forward<Type>(value)} {}
|
|
|
|
|
|
@@ -303,7 +304,8 @@ public:
|
|
|
* @param area The context from which to search for meta types.
|
|
|
* @param value An instance of an object to use to initialize the wrapper.
|
|
|
*/
|
|
|
- template<typename Type, typename = std::enable_if_t<!std::is_same_v<std::decay_t<Type>, meta_any>>>
|
|
|
+ template<typename Type>
|
|
|
+ requires (!std::same_as<std::remove_cvref_t<Type>, meta_any>)
|
|
|
meta_any(const meta_ctx &area, Type &&value)
|
|
|
: meta_any{area, std::in_place_type<std::decay_t<Type>>, std::forward<Type>(value)} {}
|
|
|
|
|
|
@@ -383,7 +385,8 @@ public:
|
|
|
* @param value An instance of an object to use to initialize the wrapper.
|
|
|
* @return This meta any object.
|
|
|
*/
|
|
|
- template<typename Type, typename = std::enable_if_t<!std::is_same_v<std::decay_t<Type>, meta_any>>>
|
|
|
+ template<typename Type>
|
|
|
+ requires (!std::same_as<std::remove_cvref_t<Type>, meta_any>)
|
|
|
meta_any &operator=(Type &&value) {
|
|
|
emplace<std::decay_t<Type>>(std::forward<Type>(value));
|
|
|
return *this;
|
|
|
@@ -675,7 +678,8 @@ template<typename Type>
|
|
|
|
|
|
/*! @brief Opaque pointers to instances of any type. */
|
|
|
class meta_handle {
|
|
|
- template<typename Type, typename... Args, typename = std::enable_if_t<std::is_same_v<std::decay_t<Type>, meta_any>>>
|
|
|
+ template<typename Type, typename... Args>
|
|
|
+ requires std::same_as<std::remove_cvref_t<Type>, meta_any>
|
|
|
meta_handle(int, Type &value, Args &&...args)
|
|
|
: any{std::forward<Args>(args)..., value.as_ref()} {}
|
|
|
|
|
|
@@ -693,7 +697,8 @@ public:
|
|
|
* @param ctx The context from which to search for meta types.
|
|
|
* @param value An instance of an object to use to initialize the handle.
|
|
|
*/
|
|
|
- template<typename Type, typename = std::enable_if_t<!std::is_same_v<std::decay_t<Type>, meta_handle>>>
|
|
|
+ template<typename Type>
|
|
|
+ requires (!std::same_as<std::remove_cvref_t<Type>, meta_handle>)
|
|
|
meta_handle(const meta_ctx &ctx, Type &value)
|
|
|
: meta_handle{0, value, ctx} {}
|
|
|
|
|
|
@@ -702,7 +707,8 @@ public:
|
|
|
* @tparam Type Type of object to use to initialize the handle.
|
|
|
* @param value An instance of an object to use to initialize the handle.
|
|
|
*/
|
|
|
- template<typename Type, typename = std::enable_if_t<!std::is_same_v<std::decay_t<Type>, meta_handle>>>
|
|
|
+ template<typename Type>
|
|
|
+ requires (!std::same_as<std::remove_cvref_t<Type>, meta_handle>)
|
|
|
meta_handle(Type &value)
|
|
|
: meta_handle{0, value} {}
|
|
|
|