|
@@ -134,7 +134,7 @@ class basic_group<Entity, exclude_t<Exclude...>, get_t<Get...>> {
|
|
|
|
|
|
|
|
[[nodiscard]] iterator begin() const ENTT_NOEXCEPT {
|
|
[[nodiscard]] iterator begin() const ENTT_NOEXCEPT {
|
|
|
return proxy_iterator{handler->begin(), std::tuple_cat([](auto *cpool) {
|
|
return proxy_iterator{handler->begin(), std::tuple_cat([](auto *cpool) {
|
|
|
- if constexpr(is_eto_eligible_v<typename std::decay_t<decltype(*cpool)>::object_type>) {
|
|
|
|
|
|
|
+ if constexpr(is_eto_eligible_v<typename std::remove_reference_t<decltype(*cpool)>::object_type>) {
|
|
|
return std::make_tuple();
|
|
return std::make_tuple();
|
|
|
} else {
|
|
} else {
|
|
|
return std::make_tuple(cpool);
|
|
return std::make_tuple(cpool);
|
|
@@ -144,7 +144,7 @@ class basic_group<Entity, exclude_t<Exclude...>, get_t<Get...>> {
|
|
|
|
|
|
|
|
[[nodiscard]] iterator end() const ENTT_NOEXCEPT {
|
|
[[nodiscard]] iterator end() const ENTT_NOEXCEPT {
|
|
|
return proxy_iterator{handler->end(), std::tuple_cat([](auto *cpool) {
|
|
return proxy_iterator{handler->end(), std::tuple_cat([](auto *cpool) {
|
|
|
- if constexpr(is_eto_eligible_v<typename std::decay_t<decltype(*cpool)>::object_type>) {
|
|
|
|
|
|
|
+ if constexpr(is_eto_eligible_v<typename std::remove_reference_t<decltype(*cpool)>::object_type>) {
|
|
|
return std::make_tuple();
|
|
return std::make_tuple();
|
|
|
} else {
|
|
} else {
|
|
|
return std::make_tuple(cpool);
|
|
return std::make_tuple(cpool);
|
|
@@ -684,14 +684,14 @@ class basic_group<Entity, exclude_t<Exclude...>, get_t<Get...>, Owned...> {
|
|
|
return proxy_iterator{
|
|
return proxy_iterator{
|
|
|
std::get<0>(pools)->sparse_set<Entity>::end() - *length,
|
|
std::get<0>(pools)->sparse_set<Entity>::end() - *length,
|
|
|
std::tuple_cat([length = *length](auto *cpool) {
|
|
std::tuple_cat([length = *length](auto *cpool) {
|
|
|
- if constexpr(is_eto_eligible_v<typename std::decay_t<decltype(*cpool)>::object_type>) {
|
|
|
|
|
|
|
+ if constexpr(is_eto_eligible_v<typename std::remove_reference_t<decltype(*cpool)>::object_type>) {
|
|
|
return std::make_tuple();
|
|
return std::make_tuple();
|
|
|
} else {
|
|
} else {
|
|
|
return std::make_tuple(cpool->end() - length);
|
|
return std::make_tuple(cpool->end() - length);
|
|
|
}
|
|
}
|
|
|
}(std::get<pool_type<Owned> *>(pools))...),
|
|
}(std::get<pool_type<Owned> *>(pools))...),
|
|
|
std::tuple_cat([](auto *cpool) {
|
|
std::tuple_cat([](auto *cpool) {
|
|
|
- if constexpr(is_eto_eligible_v<typename std::decay_t<decltype(*cpool)>::object_type>) {
|
|
|
|
|
|
|
+ if constexpr(is_eto_eligible_v<typename std::remove_reference_t<decltype(*cpool)>::object_type>) {
|
|
|
return std::make_tuple();
|
|
return std::make_tuple();
|
|
|
} else {
|
|
} else {
|
|
|
return std::make_tuple(cpool);
|
|
return std::make_tuple(cpool);
|
|
@@ -704,14 +704,14 @@ class basic_group<Entity, exclude_t<Exclude...>, get_t<Get...>, Owned...> {
|
|
|
return proxy_iterator{
|
|
return proxy_iterator{
|
|
|
std::get<0>(pools)->sparse_set<Entity>::end(),
|
|
std::get<0>(pools)->sparse_set<Entity>::end(),
|
|
|
std::tuple_cat([](auto *cpool) {
|
|
std::tuple_cat([](auto *cpool) {
|
|
|
- if constexpr(is_eto_eligible_v<typename std::decay_t<decltype(*cpool)>::object_type>) {
|
|
|
|
|
|
|
+ if constexpr(is_eto_eligible_v<typename std::remove_reference_t<decltype(*cpool)>::object_type>) {
|
|
|
return std::make_tuple();
|
|
return std::make_tuple();
|
|
|
} else {
|
|
} else {
|
|
|
return std::make_tuple(cpool->end());
|
|
return std::make_tuple(cpool->end());
|
|
|
}
|
|
}
|
|
|
}(std::get<pool_type<Owned> *>(pools))...),
|
|
}(std::get<pool_type<Owned> *>(pools))...),
|
|
|
std::tuple_cat([](auto *cpool) {
|
|
std::tuple_cat([](auto *cpool) {
|
|
|
- if constexpr(is_eto_eligible_v<typename std::decay_t<decltype(*cpool)>::object_type>) {
|
|
|
|
|
|
|
+ if constexpr(is_eto_eligible_v<typename std::remove_reference_t<decltype(*cpool)>::object_type>) {
|
|
|
return std::make_tuple();
|
|
return std::make_tuple();
|
|
|
} else {
|
|
} else {
|
|
|
return std::make_tuple(cpool);
|
|
return std::make_tuple(cpool);
|