17 #ifndef STATIC_ORDERING_ASSERTIONS_CORE_H_
18 #define STATIC_ORDERING_ASSERTIONS_CORE_H_
24 template<
typename EKFState_T>
25 struct StaticAssertCoreStateOrderingCorrect {
26 typedef typename EKFState_T::StateSequence_T StateSequence_T;
27 typedef typename EKFState_T::StateDefinition_T StateDefinition_T;
40 typename msf_tmp::getEnumStateType<StateSequence_T, StateDefinition_T::p>::value,
41 msf_tmp::CorrectionStateLengthForType>::value,
44 typename msf_tmp::getEnumStateType<StateSequence_T, StateDefinition_T::v>::value,
45 msf_tmp::CorrectionStateLengthForType>::value,
48 typename msf_tmp::getEnumStateType<StateSequence_T, StateDefinition_T::q>::value,
49 msf_tmp::CorrectionStateLengthForType>::value,
52 typename msf_tmp::getEnumStateType<StateSequence_T,
54 msf_tmp::CorrectionStateLengthForType>::value,
57 typename msf_tmp::getEnumStateType<StateSequence_T,
59 msf_tmp::CorrectionStateLengthForType>::value
62 static_assert(idxstartcorr_p_==0,
"Indexing of core states has been altered, "
63 "but this is currently not allowed");
64 static_assert(idxstartcorr_v_==3,
"Indexing of core states has been altered, "
65 "but this is currently not allowed");
66 static_assert(idxstartcorr_q_==6,
"Indexing of core states has been altered, "
67 "but this is currently not allowed");
68 static_assert(idxstartcorr_b_w_==9,
"Indexing of core states has been altered, "
69 "but this is currently not allowed");
70 static_assert(idxstartcorr_b_a_==12,
"Indexing of core states has been altered, "
71 "but this is currently not allowed");
77 #endif // STATIC_ORDERING_ASSERTIONS_H_