include/manif/impl/traits.h file

Namespaces

namespace manif
namespace manif::internal

Classes

template<typename T>
struct manif::internal::constexpr_false
template<typename T>
struct manif::internal::traits<const T>
template<template<typename, template<typename> class...> class _Class, typename _Scalar, typename _NewScalar, template<typename> class ... Ts>
struct manif::internal::traitscast<_Class<_Scalar, Ts...>, _NewScalar>
Traits to change the scalar type of a template class.
template<template<typename, unsigned int> class _Class, typename _NewScalar, typename _Scalar, unsigned int _Dim>
struct manif::internal::traitscast<_Class<_Scalar, _Dim>, _NewScalar>
Specialization for Rn.
template<typename Scalar>
struct manif::internal::is_ad
A traits for detecting AutoDiff scalar types.
template<class, typename T>
struct manif::internal::has_rjacinv_impl
Has function 'rjacinv' traits.
template<typename T>
struct manif::internal::has_rjacinv_impl<decltype(void(std::declval<T>().rjacinv())), T>
template<typename T>
struct manif::internal::has_rjacinv
template<class, typename T>
struct manif::internal::has_ljacinv_impl
Has function 'ljacinv' traits.
template<typename T>
struct manif::internal::has_ljacinv_impl<decltype(void(std::declval<T>().ljacinv())), T>
template<typename T>
struct manif::internal::has_ljacinv
template<int ... _I>
struct manif::internal::intseq
intseq: std::integer_sequence-equivalent
template<template<int ...> class _IntSeq, int ... _I1, int ... _I2>
struct manif::internal::intseq_join<_IntSeq<_I1...>, _IntSeq<_I2...>>
template<std::size_t _N>
struct manif::internal::make_intseq
generate intseq 0, 1, ..., N-1
template<>
struct manif::internal::make_intseq<0>
template<int N, int i, int j, int ... Args>
struct manif::internal::compute_indices_gen
template<int i, int j, int ... Args>
struct manif::internal::compute_indices_gen<1, i, j, Args...>
template<class, typename T>
struct manif::internal::is_manif_group_impl
template<typename T>
struct manif::internal::is_manif_group_impl<decltype(test_lie_group_base(std::declval<T>())), T>
template<typename T>
struct manif::internal::is_manif_group
template<class, typename T>
struct manif::internal::is_manif_tangent_impl
template<typename T>
struct manif::internal::is_manif_tangent_impl<decltype(test_tangent_base(std::declval<T>())), T>
template<typename T>
struct manif::internal::is_manif_tangent