|
|
@@ -16,9 +16,9 @@ namespace entt {
|
|
|
* Tiny wrapper around a registry and an entity.
|
|
|
*
|
|
|
* @tparam Entity A valid entity type (see entt_traits for more details).
|
|
|
- * @tparam Type Types to which to restrict the scope of a handle.
|
|
|
+ * @tparam Scope Types to which to restrict the scope of a handle.
|
|
|
*/
|
|
|
-template<typename Entity, typename... Type>
|
|
|
+template<typename Entity, typename... Scope>
|
|
|
struct basic_handle {
|
|
|
/*! @brief Type of registry accepted by the handle. */
|
|
|
using registry_type = constness_as_t<basic_registry<std::remove_const_t<Entity>>, Entity>;
|
|
|
@@ -53,7 +53,7 @@ struct basic_handle {
|
|
|
template<typename Other, typename... Args>
|
|
|
operator basic_handle<Other, Args...>() const noexcept {
|
|
|
static_assert(std::is_same_v<Other, Entity> || std::is_same_v<std::remove_const_t<Other>, Entity>, "Invalid conversion between different handles");
|
|
|
- static_assert((sizeof...(Type) == 0 || ((sizeof...(Args) != 0 && sizeof...(Args) <= sizeof...(Type)) && ... && (type_list_contains_v<type_list<Type...>, Args>))), "Invalid conversion between different handles");
|
|
|
+ static_assert((sizeof...(Scope) == 0 || ((sizeof...(Args) != 0 && sizeof...(Args) <= sizeof...(Scope)) && ... && (type_list_contains_v<type_list<Scope...>, Args>))), "Invalid conversion between different handles");
|
|
|
|
|
|
return reg ? basic_handle<Other, Args...>{*reg, entt} : basic_handle<Other, Args...>{};
|
|
|
}
|
|
|
@@ -125,7 +125,7 @@ struct basic_handle {
|
|
|
*/
|
|
|
template<typename Component, typename... Args>
|
|
|
decltype(auto) emplace(Args &&...args) const {
|
|
|
- static_assert(((sizeof...(Type) == 0) || ... || std::is_same_v<Component, Type>), "Invalid type");
|
|
|
+ static_assert(((sizeof...(Scope) == 0) || ... || std::is_same_v<Component, Scope>), "Invalid type");
|
|
|
return reg->template emplace<Component>(entt, std::forward<Args>(args)...);
|
|
|
}
|
|
|
|
|
|
@@ -139,7 +139,7 @@ struct basic_handle {
|
|
|
*/
|
|
|
template<typename Component, typename... Args>
|
|
|
decltype(auto) emplace_or_replace(Args &&...args) const {
|
|
|
- static_assert(((sizeof...(Type) == 0) || ... || std::is_same_v<Component, Type>), "Invalid type");
|
|
|
+ static_assert(((sizeof...(Scope) == 0) || ... || std::is_same_v<Component, Scope>), "Invalid type");
|
|
|
return reg->template emplace_or_replace<Component>(entt, std::forward<Args>(args)...);
|
|
|
}
|
|
|
|
|
|
@@ -153,7 +153,7 @@ struct basic_handle {
|
|
|
*/
|
|
|
template<typename Component, typename... Func>
|
|
|
decltype(auto) patch(Func &&...func) const {
|
|
|
- static_assert(((sizeof...(Type) == 0) || ... || std::is_same_v<Component, Type>), "Invalid type");
|
|
|
+ static_assert(((sizeof...(Scope) == 0) || ... || std::is_same_v<Component, Scope>), "Invalid type");
|
|
|
return reg->template patch<Component>(entt, std::forward<Func>(func)...);
|
|
|
}
|
|
|
|
|
|
@@ -167,7 +167,7 @@ struct basic_handle {
|
|
|
*/
|
|
|
template<typename Component, typename... Args>
|
|
|
decltype(auto) replace(Args &&...args) const {
|
|
|
- static_assert(((sizeof...(Type) == 0) || ... || std::is_same_v<Component, Type>), "Invalid type");
|
|
|
+ static_assert(((sizeof...(Scope) == 0) || ... || std::is_same_v<Component, Scope>), "Invalid type");
|
|
|
return reg->template replace<Component>(entt, std::forward<Args>(args)...);
|
|
|
}
|
|
|
|
|
|
@@ -179,7 +179,7 @@ struct basic_handle {
|
|
|
*/
|
|
|
template<typename... Component>
|
|
|
size_type remove() const {
|
|
|
- static_assert(sizeof...(Type) == 0 || (type_list_contains_v<type_list<Type...>, Component> && ...), "Invalid type");
|
|
|
+ static_assert(sizeof...(Scope) == 0 || (type_list_contains_v<type_list<Scope...>, Component> && ...), "Invalid type");
|
|
|
return reg->template remove<Component...>(entt);
|
|
|
}
|
|
|
|
|
|
@@ -190,7 +190,7 @@ struct basic_handle {
|
|
|
*/
|
|
|
template<typename... Component>
|
|
|
void erase() const {
|
|
|
- static_assert(sizeof...(Type) == 0 || (type_list_contains_v<type_list<Type...>, Component> && ...), "Invalid type");
|
|
|
+ static_assert(sizeof...(Scope) == 0 || (type_list_contains_v<type_list<Scope...>, Component> && ...), "Invalid type");
|
|
|
reg->template erase<Component...>(entt);
|
|
|
}
|
|
|
|
|
|
@@ -225,7 +225,7 @@ struct basic_handle {
|
|
|
*/
|
|
|
template<typename... Component>
|
|
|
[[nodiscard]] decltype(auto) get() const {
|
|
|
- static_assert(sizeof...(Type) == 0 || (type_list_contains_v<type_list<Type...>, Component> && ...), "Invalid type");
|
|
|
+ static_assert(sizeof...(Scope) == 0 || (type_list_contains_v<type_list<Scope...>, Component> && ...), "Invalid type");
|
|
|
return reg->template get<Component...>(entt);
|
|
|
}
|
|
|
|
|
|
@@ -239,7 +239,7 @@ struct basic_handle {
|
|
|
*/
|
|
|
template<typename Component, typename... Args>
|
|
|
[[nodiscard]] decltype(auto) get_or_emplace(Args &&...args) const {
|
|
|
- static_assert(((sizeof...(Type) == 0) || ... || std::is_same_v<Component, Type>), "Invalid type");
|
|
|
+ static_assert(((sizeof...(Scope) == 0) || ... || std::is_same_v<Component, Scope>), "Invalid type");
|
|
|
return reg->template get_or_emplace<Component>(entt, std::forward<Args>(args)...);
|
|
|
}
|
|
|
|
|
|
@@ -251,7 +251,7 @@ struct basic_handle {
|
|
|
*/
|
|
|
template<typename... Component>
|
|
|
[[nodiscard]] auto try_get() const {
|
|
|
- static_assert(sizeof...(Type) == 0 || (type_list_contains_v<type_list<Type...>, Component> && ...), "Invalid type");
|
|
|
+ static_assert(sizeof...(Scope) == 0 || (type_list_contains_v<type_list<Scope...>, Component> && ...), "Invalid type");
|
|
|
return reg->template try_get<Component...>(entt);
|
|
|
}
|
|
|
|