Struct basic_view< Entity, exclude_t< Exclude... >, Component... >

Synopsis

#include <src/entt/entity/view.hpp>

template<typename Entity, typename... Exclude, typename... Component>
struct basic_view<Entity, exclude_t<Exclude...>, Component...>
    : basic_view_impl<std::conditional_t<std::disjunction_v<typename component_traits<std::remove_const_t<Component>>::in_place_delete...>, stable_storage_policy, packed_storage_policy>, Entity, exclude_t<Exclude...>, Component...>

Description

View implementation dispatcher.

Template Parameters

Entity - A valid entity type (see entt_traits for more details).

Exclude - Types of components used to filter the view.

Component - Types of components iterated by the view.

Inheritance

Ancestors: basic_view_impl

Source

Lines 1015-1022 in src/entt/entity/view.hpp.

template<typename Entity, typename... Exclude, typename... Component>
struct basic_view<Entity, exclude_t<Exclude...>, Component...>
    : basic_view_impl<std::conditional_t<std::disjunction_v<typename component_traits<std::remove_const_t<Component>>::in_place_delete...>, stable_storage_policy, packed_storage_policy>, Entity, exclude_t<Exclude...>, Component...>
{
    /*! @brief Most restrictive storage policy of all component types. */
    using storage_policy = std::conditional_t<std::disjunction_v<typename component_traits<std::remove_const_t<Component>>::in_place_delete...>, stable_storage_policy, packed_storage_policy>;
    using basic_view_impl<storage_policy, Entity, exclude_t<Exclude...>, Component...>::basic_view_impl;
};





Add Discussion

Log in to comment