Program Listing for File Bundle_properties.h

Return to documentation for file (manif/impl/bundle/Bundle_properties.h)

#ifndef _MANIF_MANIF_BUNDLE_PROPERTIES_H_
#define _MANIF_MANIF_BUNDLE_PROPERTIES_H_

#include "manif/impl/traits.h"

namespace manif {

// Forward declaration for type traits specialization
template<typename _Derived> struct BundleBase;
template<typename _Derived> struct BundleTangentBase;

namespace internal {

template<typename _Derived>
struct LieGroupProperties<BundleBase<_Derived>>
{
  static constexpr int Dim = traits<_Derived>::Dim;
  static constexpr int DoF = traits<_Derived>::DoF;
};

template<typename _Derived>
struct LieGroupProperties<BundleTangentBase<_Derived>>
{
  static constexpr int Dim = traits<_Derived>::Dim;
  static constexpr int DoF = traits<_Derived>::DoF;
};

}  // namespace internal
}  // namespace manif

#endif  // _MANIF_MANIF_BUNDLE_PROPERTIES_H_