23#ifndef VCL_BASE_TYPE_WRAPPER_H
24#define VCL_BASE_TYPE_WRAPPER_H
26#include "variadic_templates.h"
37template<
typename... Args>
40 static constexpr uint size() {
return sizeof...(Args); }
49template<
typename... Args>
52 using type = std::tuple_element<0, std::tuple<Args...>>::type;
67template<
typename... Args>
79template<
typename T,
typename... Us>
91template<uint I,
typename... T>
94 using type =
TypeAt<I, T...>::type;
103template<
typename... Args>
114template<
typename... T>
A class representing a box in N-dimensional space.
Definition box.h:46
constexpr uint indexInTypePack()
Function that returns the index of a Type T in a pack of types (variadic templates)....
Definition variadic_templates.h:73
Get the first type of a pack of types (variadic templates) or a TypeWrapper.
Definition variadic_templates.h:47
Allows to apply a function to each type in a variadic template pack.
Definition variadic_templates.h:212
Get the index of a type T in a pack of types (variadic templates) or a TypeWrapper.
Definition variadic_templates.h:138
Get the number of types in a pack of types (variadic templates) or a TypeWrapper.
Definition variadic_templates.h:189
Get the type at a given index in a pack of types (variadic templates) or a TypeWrapper.
Definition variadic_templates.h:156
A simple structure that wraps a list of variadic templates, without instantiating anything....
Definition type_wrapper.h:39