33#ifndef GKO_PUBLIC_CORE_SYNTHESIZER_CONTAINERS_HPP_
34#define GKO_PUBLIC_CORE_SYNTHESIZER_CONTAINERS_HPP_
65template <
typename...
Types>
76template <
int Start,
int End,
int Step = 1>
89template <
typename List1,
typename List2>
90struct concatenate_impl;
114template <
typename List1,
typename List2>
115using concatenate =
typename detail::concatenate_impl<List1, List2>::type;
126template <
typename T,
typename =
void>
145template <
typename...
Types>
158template <
int Start,
int End,
int Step>
172template <
int Start,
int End,
int Step>
188using as_list =
typename detail::as_list_impl<T>::type;
202template <
typename T,
T...
Value>
205 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:188
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:203
typename detail::concatenate_impl< List1, List2 >::type concatenate
concatenate combines two value_list into one value_list.
Definition containers.hpp:115
The Ginkgo namespace.
Definition abstract_factory.hpp:48
constexpr T one()
Returns the multiplicative identity for T.
Definition math.hpp:803
range records start, end, step in template
Definition containers.hpp:77
type_list records several types in template
Definition containers.hpp:66
value_list records several values with the same type in template.
Definition containers.hpp:57