view: updated value_type for view_proxy

This commit is contained in:
Michele Caini
2020-09-30 17:33:11 +02:00
parent dec0f28a2b
commit ed668d5144

View File

@@ -169,14 +169,11 @@ class basic_view<Entity, exclude_t<Exclude...>, Component...> {
public:
using difference_type = std::ptrdiff_t;
using value_type = decltype(std::tuple_cat(
std::declval<std::tuple<Entity>>(),
std::declval<std::conditional_t<is_eto_eligible_v<Component>, std::tuple<>, std::tuple<Component>>>()...
));
using pointer = void;
using reference = decltype(std::tuple_cat(
std::declval<std::tuple<Entity>>(),
std::declval<std::conditional_t<is_eto_eligible_v<Component>, std::tuple<>, std::tuple<Component &>>>()...
));
using pointer = void;
using reference = value_type;
using iterator_category = std::input_iterator_tag;
proxy_iterator & operator++() ENTT_NOEXCEPT {
@@ -756,9 +753,9 @@ class basic_view<Entity, exclude_t<>, Component> {
public:
using difference_type = std::ptrdiff_t;
using value_type = std::conditional_t<is_eto_eligible_v<Component>, std::tuple<Entity>, std::tuple<Entity, Component>>;
using value_type = std::conditional_t<is_eto_eligible_v<Component>, std::tuple<Entity>, std::tuple<Entity, Component &>>;
using pointer = void;
using reference = std::conditional_t<is_eto_eligible_v<Component>, std::tuple<Entity>, std::tuple<Entity, Component &>>;
using reference = value_type;
using iterator_category = std::input_iterator_tag;
proxy_iterator & operator++() ENTT_NOEXCEPT {