31#ifndef ETL_OVERLOAD_INCLUDED
32#define ETL_OVERLOAD_INCLUDED
44 template <
typename... TOverloads>
45 struct overload : TOverloads...
47 using TOverloads::operator()...;
53 template <
typename... TOverloads>
54 overload(TOverloads...) -> overload<TOverloads...>;
59 template <
typename... TOverloads>
60 constexpr overload<TOverloads...> make_overload(TOverloads&&... overloads)
62 return overload<TOverloads...>{etl::forward<TOverloads>(overloads)...};
68 template <
typename... TRest>
74 template <
typename TOverload,
typename... TRest>
75 struct overload<TOverload, TRest...>
79 overload(TOverload first, TRest... rest)
81 , overload<TRest...>(rest...)
85 using TOverload::operator();
86 using overload<TRest...>::operator();
92 template <
typename TOverload>
93 struct overload<TOverload> : TOverload
95 overload(TOverload first)
100 using TOverload::operator();
106 template <
typename... TRest>
107 overload<TRest...> make_overload(TRest... overloads)
109 return overload<TRest...>(overloads...);
bitset_ext
Definition absolute.h:40