|
struct | playrho::detail::detector< Default, AlwaysVoid, Op, Args > |
| Detector class template. More...
|
|
struct | playrho::detail::detector< Default, std::void_t< Op< Args... > >, Op, Args... > |
| Detected class template specialized for successful detection. More...
|
|
struct | playrho::detail::HasFunctor< typename, T > |
| Has-functor trait template fallback class. More...
|
|
struct | playrho::detail::HasFunctor< Type, Return(Args...)> |
| Has-functor trait template class. More...
|
|
struct | playrho::detail::is_narrowing_conversion< From, To > |
| Is narrowing conversion trait. More...
|
|
struct | playrho::detail::is_narrowing_conversion_impl< From, To, typename > |
| Is narrowing conversion implementation true trait. More...
|
|
struct | playrho::detail::is_narrowing_conversion_impl< From, To, std::void_t< decltype(To{std::declval< From >()})> > |
| Is narrowing conversion implementation false trait. More...
|
|
struct | playrho::detail::IsAddable< T1, T2, class > |
| Template for determining if the given types are addable. More...
|
|
struct | playrho::detail::IsAddable< T1, T2, std::void_t< decltype(T1{}+T2{})> > |
| Template specializing for addable types. More...
|
|
struct | playrho::detail::IsArithmetic< T, class > |
| Template for determining if the given type is an "arithmetic" type. More...
|
|
struct | playrho::detail::IsArithmetic< T, std::void_t< decltype(T{}+T{}), decltype(T{} - T{}), decltype(T{} *T{}), decltype(T{}/T{})> > |
| Template specialization for valid/acceptable "arithmetic" types. More...
|
|
struct | playrho::detail::IsDivisable< T1, T2, class > |
| Template for determining if the given types are divisable. More...
|
|
struct | playrho::detail::IsDivisable< T1, T2, std::void_t< decltype(T1{}/T2{})> > |
| Template specializing for divisable types. More...
|
|
struct | playrho::detail::IsEqualityComparable< T1, T2, class > |
| Template for determining if the given type is an equality comparable type. More...
|
|
struct | playrho::detail::IsEqualityComparable< T1, T2, std::void_t< decltype(T1{}==T2{})> > |
| Template specialization for equality comparable types. More...
|
|
struct | playrho::detail::IsInequalityComparable< T1, T2, class > |
| Template for determining if the given type is an inequality comparable type. More...
|
|
struct | playrho::detail::IsInequalityComparable< T1, T2, std::void_t< decltype(T1{} !=T2{})> > |
| Template specialization for inequality comparable types. More...
|
|
struct | playrho::detail::IsIterable< T, class > |
| Low-level implementation of the is-iterable default value trait. More...
|
|
struct | playrho::detail::IsIterable< T, std::void_t< decltype(begin(std::declval< T >())), decltype(end(std::declval< T >())), decltype(++std::declval< decltype(begin(std::declval< T & >()))& >()), decltype(*begin(std::declval< T >()))> > |
| Low-level implementation of the is-iterable true value trait. More...
|
|
struct | playrho::detail::IsMultipliable< T1, T2, class > |
| Template for determining if the given types are multipliable. More...
|
|
struct | playrho::detail::IsMultipliable< T1, T2, std::void_t< decltype(T1{} *T2{})> > |
| Template specializing for multipliable types. More...
|
|
struct | playrho::detail::IsReverseIterable< T, class > |
| Low-level implementation of the is-reverse-iterable default value trait. More...
|
|
struct | playrho::detail::IsReverseIterable< T, std::void_t< decltype(rbegin(std::declval< T >())), decltype(rend(std::declval< T >())), decltype(++std::declval< decltype(rbegin(std::declval< T & >()))& >()), decltype(*rbegin(std::declval< T >()))> > |
| Low-level implementation of the is-reverse-iterable true value trait. More...
|
|
struct | playrho::detail::nonesuch |
| None such type. More...
|
|
Low-level declarations for general class & function templates.