metaprogramming.h File Reference
|
CPP API
|
metaprogramming.h File Reference
#include <type_traits>#include <utility>
Include dependency graph for metaprogramming.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Classes | |
| struct | mio::details::Empty |
| struct | mio::has_duplicates< Types > |
| Tests whether the list Types contains any type multiple times. More... | |
| struct | mio::index_of_type< Type, Types > |
| Finds the index of a Type in the list Types. More... | |
| struct | mio::is_ad_type< T, class > |
| Detects whether a type is an automatic differentiation (AD) type. More... | |
| struct | mio::is_ad_type< ad::internal::active_type< Value, Tape > > |
| struct | mio::is_type_in_list< Type, Types > |
| Tests whether Type is in the list Types. More... | |
| struct | mio::details::NoCopy |
| struct | mio::type_at_index< Index, Types > |
| Finds the type at the Index-th position in the list Types. More... | |
| struct | mio::details::type_at_index_impl< Index, Head, Tail > |
| Get the type at position Index of list (Head, Tail...). More... | |
| struct | mio::details::type_at_index_impl< 0, Head, Tail... > |
Namespaces | |
| ad | |
| ad::internal | |
| mio | |
| A collection of classes to simplify handling of matrix shapes in meta programming. | |
| mio::details | |
Typedefs | |
| template<class T > | |
| using | mio::is_64bit_integral = std::integral_constant< bool,(std::is_integral_v< T > &&sizeof(T)==8)> |
| Bool constant to check whether T is an integral type of 64 bits. Used for Json library. More... | |
| template<class T > | |
| using | mio::is_small_integral = std::integral_constant< bool,(std::is_integral_v< T > &&sizeof(T)<=4)> |
| Bool constant to check whether T is an integral type of 32 bits or less. Used for Json library. More... | |
| template<bool Cond> | |
| using | mio::not_copyable_if = std::conditional< Cond, details::NoCopy, details::Empty > |
| Defines a type that is not copy constructible or assignable if the specified condition is true. More... | |
| template<bool Cond> | |
| using | mio::not_copyable_if_t = typename not_copyable_if< Cond >::type |
| equivalent to not_copyable_if<Cond>::type. More... | |
| template<std::size_t Index, class... Types> | |
| using | mio::type_at_index_t = typename type_at_index< Index, Types... >::type |
| The type at the Index-th position in the list Types. More... | |
Functions | |
| template<std::size_t Size, class Type > | |
| constexpr std::size_t | mio::details::index_of_impl () |
| Recursively searches the list (Head, Tail...) for Type. More... | |
| template<std::size_t Size, class Type , class Head , class... Tail> | |
| constexpr std::size_t | mio::details::index_of_impl () |
| Recursively searches the list (Head, Tail...) for Type. More... | |
Variables | |
| template<class... Types> | |
| constexpr bool | mio::has_duplicates_v = has_duplicates<Types...>::value |
| Checks whether Type has any duplicates. More... | |
| template<class Type , class... Types> | |
| constexpr std::size_t | mio::index_of_type_v = index_of_type<Type, Types...>::value |
| The index of Type in the list Types. More... | |
| template<class Type , class... Types> | |
| constexpr bool | mio::is_type_in_list_v = is_type_in_list<Type, Types...>::value |
| Checks whether Type is in the list Types. More... | |
| template<class T > | |
| constexpr bool | mio::is_ad_type_v = is_ad_type<T>::value |
Generated by