5#ifndef INCLUDE_GUARD_ARENE_BASE_ARENE_BASE_TYPE_MANIPULATION_REPEAT_TYPE_HPP_
6#define INCLUDE_GUARD_ARENE_BASE_ARENE_BASE_TYPE_MANIPULATION_REPEAT_TYPE_HPP_
9#include "arene/base/stdlib_choice/cstddef.hpp"
14namespace repeat_type_detail {
16template <std::size_t N,
template <
typename...>
class T,
typename Arg,
typename... Args>
17struct repeat_type_impl;
19template <std::size_t N,
template <
typename...>
class T,
typename U,
typename Arg,
typename... Args>
20struct repeat_type_impl_ex;
27template <std::size_t N,
template <
typename...>
class T,
typename Arg>
37template <
template <
typename...>
class T,
typename Arg>
47template <
std::
size_t N,
template <
typename...>
class T,
typename Arg>
55template <std::size_t N,
template <
typename...>
class T,
class U,
typename Arg>
66template <
template <
typename...>
class T,
class U,
typename Arg>
72namespace repeat_type_detail {
78template <std::size_t N,
template <
typename...>
class T,
typename Arg,
typename... Args>
79struct repeat_type_impl {
81 using type =
typename repeat_type_impl<N - 1UL, T, Arg, Arg, Args...>::type;
90template <
template <
typename...>
class T,
typename Arg,
typename... Args>
91struct repeat_type_impl<0UL, T, Arg, Args...> {
93 using type = T<Arg, Args...>;
103template <std::size_t N,
template <
typename...>
class T,
typename U,
typename Arg,
typename... Args>
104struct repeat_type_impl_ex {
106 using type =
typename repeat_type_impl_ex<N - 1UL, T, U, Arg, Arg, Args...>::type;
116template <
template <
typename...>
class T,
class U,
typename Arg,
typename... Args>
117struct repeat_type_impl_ex<0UL, T, U, Arg, Args...> {
119 using type = T<U, Arg, Args...>;
Definition array_exceptions_disabled.cpp:11
Copyright 2026, Toyota Motor Corporation.
Definition array_exceptions_disabled.cpp:10
Repeat a template argument a specified number of times with an extra leading template argument.
Definition repeat_type.hpp:56
Repeat a template argument a specified number of times.
Definition repeat_type.hpp:28