8template<
typename Tuple,
typename VTuple = std::remove_reference_t<Tuple>,std::
size_t... Indices>
9constexpr inline std::array<std::common_type_t<std::tuple_element_t<Indices, VTuple>...>,
sizeof...(Indices)>
10to_array(Tuple&& tuple, std::index_sequence<Indices...>)
12 return { std::get<Indices>(std::forward<Tuple>(tuple))... };
14template<
typename Tuple,
typename VTuple = std::remove_reference_t<Tuple>>
15constexpr inline decltype(
auto) to_array(Tuple&& tuple)
17 return to_array(std::forward<Tuple>(tuple),std::make_index_sequence<std::tuple_size<VTuple>::value> {} );
20template<
typename ... types>
22 inline static constexpr std::size_t ntypes =
sizeof ... (types);
23 typedef std::array<ctti_t,ntypes> arraytype;
24#define q_qt_def static const arraytype queryTypes{ CTTI<types>() ... }
29 inline static constexpr const arraytype& GetQueryTypes(){
37template<
class base,
typename ... types>
39 inline static constexpr std::size_t ntypes =
sizeof ... (types) + base::ntypes;
40 typedef std::array<ctti_t,ntypes> arraytype;
41#define qb_qt_def static const arraytype queryTypes = to_array(std::tuple_cat(std::array<ctti_t, sizeof ... (types)>{ CTTI<types>() ...}, base::GetQueryTypes()))
46 inline static constexpr const arraytype& GetQueryTypes(){
Definition concurrentqueue.h:747
Definition Animation.hpp:6
Definition Queryable.hpp:38
Definition Queryable.hpp:21