Go to the documentation of this file.
12 #include <ceres/ceres.h>
14 #include <type_traits>
18 template <
class TScalar, std::
size_t = sizeof(TScalar)>
19 constexpr std::true_type
complete(TScalar*);
20 constexpr std::false_type
complete(...);
22 template <
class TScalar>
39 template <
class TScalar>
43 template <
class TScalar>
47 template <
class TScalar,
typename TE =
void>
57 template <
class TScalar>
58 struct Mapper<TScalar, typename std::enable_if<kIsMappableV<TScalar>>
::type> {
59 using Scalar =
typename TScalar::Scalar;
60 using Map = Eigen::Map<TScalar>;
static ConstMap map(Scalar const *ptr) noexcept
Definition: typetraits.h:54
Scalar & Map
Definition: typetraits.h:50
Eigen::Map< const TScalar > ConstMap
Definition: typetraits.h:61
constexpr std::true_type complete(TScalar *)
Image MutImage, owning images types.
Definition: num_diff.h:20
constexpr bool kIsMappableV
Definition: typetraits.h:44
typename TScalar::Scalar Scalar
Definition: typetraits.h:59
TScalar Scalar
Definition: typetraits.h:49
static Map map(Scalar *ptr) noexcept
Definition: typetraits.h:63
Eigen::Map< TScalar > Map
Definition: typetraits.h:60
decltype(complete(std::declval< TScalar * >())) IsSpecialized
Definition: typetraits.h:23
IsSpecialized< Eigen::internal::traits< std::decay_t< TScalar > >> IsMappable
Type trait used to distinguish mappable vector types from scalars.
Definition: typetraits.h:41
Helper for mapping tangent vectors (scalars) over pointers to data.
Definition: typetraits.h:48
static Map map(Scalar *ptr) noexcept
Definition: typetraits.h:53
static ConstMap map(Scalar const *ptr) noexcept
Definition: typetraits.h:64
Scalar const & ConstMap
Definition: typetraits.h:51
type
Definition: event_service.py:547