Meta.h File Reference
#include "../InternalHeaderCheck.h"
#include <cstdint>

Go to the source code of this file.

Classes

struct  Eigen::numext::get_integer_by_size< Size >
 
struct  Eigen::numext::get_integer_by_size< 1 >
 
struct  Eigen::numext::get_integer_by_size< 2 >
 
struct  Eigen::numext::get_integer_by_size< 4 >
 
struct  Eigen::numext::get_integer_by_size< 8 >
 
struct  Eigen::internal::true_type
 
struct  Eigen::internal::false_type
 
struct  Eigen::internal::bool_constant< true >
 
struct  Eigen::internal::bool_constant< false >
 
struct  Eigen::internal::remove_all< T >
 
struct  Eigen::internal::remove_all< const T >
 
struct  Eigen::internal::remove_all< T const & >
 
struct  Eigen::internal::remove_all< T & >
 
struct  Eigen::internal::remove_all< T const * >
 
struct  Eigen::internal::remove_all< T * >
 
struct  Eigen::internal::is_arithmetic< T >
 
struct  Eigen::internal::is_arithmetic< float >
 
struct  Eigen::internal::is_arithmetic< double >
 
struct  Eigen::internal::is_arithmetic< long double >
 
struct  Eigen::internal::is_arithmetic< bool >
 
struct  Eigen::internal::is_arithmetic< char >
 
struct  Eigen::internal::is_arithmetic< signed char >
 
struct  Eigen::internal::is_arithmetic< unsigned char >
 
struct  Eigen::internal::is_arithmetic< signed short >
 
struct  Eigen::internal::is_arithmetic< unsigned short >
 
struct  Eigen::internal::is_arithmetic< signed int >
 
struct  Eigen::internal::is_arithmetic< unsigned int >
 
struct  Eigen::internal::is_arithmetic< signed long >
 
struct  Eigen::internal::is_arithmetic< unsigned long >
 
struct  Eigen::internal::is_same< T, U >
 
struct  Eigen::internal::is_same< T, T >
 
struct  Eigen::internal::is_void< T >
 
struct  Eigen::internal::is_arithmetic< signed long long >
 
struct  Eigen::internal::is_arithmetic< unsigned long long >
 
struct  Eigen::internal::is_const< T >
 
struct  Eigen::internal::is_const< T const >
 
struct  Eigen::internal::add_const_on_value_type< T >
 
struct  Eigen::internal::add_const_on_value_type< T & >
 
struct  Eigen::internal::add_const_on_value_type< T * >
 
struct  Eigen::internal::add_const_on_value_type< T *const >
 
struct  Eigen::internal::add_const_on_value_type< T const *const >
 
class  Eigen::internal::noncopyable
 
struct  Eigen::internal::array_size< T, EnableIf >
 
struct  Eigen::internal::array_size< T, std::enable_if_t<((T::SizeAtCompileTime &0)==0)> >
 
struct  Eigen::internal::array_size< const T(&)[N]>
 
struct  Eigen::internal::array_size< T(&)[N]>
 
struct  Eigen::internal::array_size< const std::array< T, N > >
 
struct  Eigen::internal::array_size< std::array< T, N > >
 
struct  Eigen::internal::result_of< T >
 
struct  Eigen::internal::invoke_result< F, ArgTypes >
 
struct  Eigen::internal::meta_yes
 
struct  Eigen::internal::meta_no
 
struct  Eigen::internal::has_ReturnType< T >
 
struct  Eigen::internal::has_nullary_operator< T, IndexType >
 
struct  Eigen::internal::has_unary_operator< T, IndexType >
 
struct  Eigen::internal::has_binary_operator< T, IndexType >
 
class  Eigen::internal::meta_sqrt< Y, InfX, SupX, Done >
 
class  Eigen::internal::meta_sqrt< Y, InfX, SupX, true >
 
struct  Eigen::internal::meta_least_common_multiple< A, B, K, Done, Big >
 
struct  Eigen::internal::meta_least_common_multiple< A, B, K, Done, false >
 
struct  Eigen::internal::meta_least_common_multiple< A, B, K, true, true >
 
struct  Eigen::internal::scalar_product_traits< T, U >
 
struct  Eigen::internal::aligned_storage< Len, Align >
 
struct  Eigen::internal::aligned_storage< Len, Align >::type
 
struct  Eigen::numext::equal_strict_impl< X, Y, XIsInteger, XIsSigned, YIsInteger, YIsSigned >
 
struct  Eigen::numext::equal_strict_impl< X, Y, true, false, true, true >
 
struct  Eigen::numext::equal_strict_impl< X, Y, true, true, true, false >
 
struct  Eigen::internal::is_identically_zero_impl< Scalar >
 

Namespaces

 Eigen
 Namespace containing all symbols from the Eigen library.
 
 Eigen::numext
 
 Eigen::internal
 Namespace containing low-level routines from the Eigen library.
 

Typedefs

typedef std::uint8_t Eigen::numext::uint8_t
 
typedef std::int8_t Eigen::numext::int8_t
 
typedef std::uint16_t Eigen::numext::uint16_t
 
typedef std::int16_t Eigen::numext::int16_t
 
typedef std::uint32_t Eigen::numext::uint32_t
 
typedef std::int32_t Eigen::numext::int32_t
 
typedef std::uint64_t Eigen::numext::uint64_t
 
typedef std::int64_t Eigen::numext::int64_t
 
typedef EIGEN_DEFAULT_DENSE_INDEX_TYPE Eigen::DenseIndex
 
typedef EIGEN_DEFAULT_DENSE_INDEX_TYPE Eigen::Index
 The Index type as used for the API. More...
 
template<typename T >
using Eigen::internal::remove_all_t = typename remove_all< T >::type
 
template<typename... >
using Eigen::internal::void_t = void
 
template<typename T >
using Eigen::internal::add_const_on_value_type_t = typename add_const_on_value_type< T >::type
 
template<bool... values>
using Eigen::internal::reduce_all = std::is_same< std::integer_sequence< bool, values..., true >, std::integer_sequence< bool, true, values... > >
 
template<bool... values>
using Eigen::internal::reduce_any = std::integral_constant< bool, !std::is_same< std::integer_sequence< bool, values..., false >, std::integer_sequence< bool, false, values... > >::value >
 

Functions

template<typename T >
EIGEN_CONSTEXPR auto Eigen::internal::index_list_size (const T &x)
 
template<typename T , std::ptrdiff_t N>
EIGEN_CONSTEXPR std::ptrdiff_t Eigen::internal::index_list_size (const T(&)[N])
 
template<typename T >
const TEigen::internal::return_ptr ()
 
template<typename T >
EIGEN_STRONG_INLINE void Eigen::numext::swap (T &a, T &b)
 
template<typename X , typename Y >
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool Eigen::numext::equal_strict (const X &x, const Y &y)
 
template<>
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool Eigen::numext::equal_strict (const float &x, const float &y)
 
template<>
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool Eigen::numext::equal_strict (const double &x, const double &y)
 
template<typename X >
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool Eigen::numext::is_exactly_zero (const X &x)
 
template<typename X >
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool Eigen::numext::is_exactly_one (const X &x)
 
template<typename X , typename Y >
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool Eigen::numext::not_equal_strict (const X &x, const Y &y)
 
template<>
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool Eigen::numext::not_equal_strict (const float &x, const float &y)
 
template<>
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool Eigen::numext::not_equal_strict (const double &x, const double &y)
 
template<typename Scalar >
EIGEN_STRONG_INLINE bool Eigen::internal::is_identically_zero (const Scalar &s)
 
template<typename A , typename B >
constexpr void Eigen::internal::plain_enum_asserts (A, B)
 
template<typename A , typename B >
constexpr int Eigen::internal::plain_enum_min (A a, B b)
 
template<typename A , typename B >
constexpr int Eigen::internal::plain_enum_max (A a, B b)
 
template<typename A , typename B >
constexpr int Eigen::internal::min_size_prefer_dynamic (A a, B b)
 
template<typename A , typename B >
constexpr int Eigen::internal::min_size_prefer_fixed (A a, B b)
 
template<typename A , typename B >
constexpr int Eigen::internal::max_size_prefer_dynamic (A a, B b)
 
template<typename A , typename B >
constexpr bool Eigen::internal::enum_eq_not_dynamic (A a, B b)
 
template<typename A , typename B >
constexpr bool Eigen::internal::enum_lt_not_dynamic (A a, B b)
 
template<typename A , typename B >
constexpr bool Eigen::internal::enum_le_not_dynamic (A a, B b)
 
template<typename A , typename B >
constexpr bool Eigen::internal::enum_gt_not_dynamic (A a, B b)
 
template<typename A , typename B >
constexpr bool Eigen::internal::enum_ge_not_dynamic (A a, B b)
 
constexpr bool Eigen::internal::logical_xor (bool a, bool b)
 
constexpr bool Eigen::internal::check_implication (bool a, bool b)
 
constexpr bool Eigen::internal::is_constant_evaluated ()
 

Variables

template<typename A >
constexpr bool Eigen::internal::is_int_or_enum_v = std::is_enum<A>::value || std::is_integral<A>::value
 

Detailed Description

This file contains generic metaprogramming classes which are not specifically related to Eigen.

Note
In case you wonder, yes we're aware that Boost already provides all these features, we however don't want to add a dependency to Boost.