5#ifndef GKO_PUBLIC_CORE_SYNTHESIZER_CONTAINERS_HPP_
6#define GKO_PUBLIC_CORE_SYNTHESIZER_CONTAINERS_HPP_
37template <
typename...
Types>
48template <
int Start,
int End,
int Step = 1>
61template <
typename List1,
typename List2>
62struct concatenate_impl;
86template <
typename List1,
typename List2>
87using concatenate =
typename detail::concatenate_impl<List1, List2>::type;
98template <
typename T,
typename =
void>
117template <
typename...
Types>
130template <
int Start,
int End,
int Step>
144template <
int Start,
int End,
int Step>
160using as_list =
typename detail::as_list_impl<T>::type;
174template <
typename T,
T...
Value>
177 return std::array<
T,
sizeof...(Value)>{
Value...};
typename detail::as_list_impl< T >::type as_list
as_list<T> gives the alias type of as_list_impl<T>::type.
Definition containers.hpp:160
constexpr std::array< T, sizeof...(Value)> as_array(value_list< T, Value... > vl)
as_array<T> returns the array from value_list.
Definition containers.hpp:175
typename detail::concatenate_impl< List1, List2 >::type concatenate
concatenate combines two value_list into one value_list.
Definition containers.hpp:87
The Ginkgo namespace.
Definition abstract_factory.hpp:20
constexpr T one()
Returns the multiplicative identity for T.
Definition math.hpp:775
range records start, end, step in template
Definition containers.hpp:49
type_list records several types in template
Definition containers.hpp:38
value_list records several values with the same type in template.
Definition containers.hpp:29