25 #include <type_traits>
76 template <
typename parameter_indices_t, parameter_indices_t... params>
83 detail::kParametersSize<parameter_indices_t>;
88 "parameter identifiers are not sorted");
90 detail::are_within<
unsigned int, 0,
kSizeMax,
91 static_cast<unsigned int>(params)...>::
value,
92 "parameter identifiers must be greater or "
93 "equal to zero and smaller than the total number of parameters");
95 "number of stored parameters can not be zero");
98 "number of stored parameters can not exceed number of total parameters");
119 template <
typename... Tail>
121 std::optional<CovarianceMatrix>
cov,
128 detail::initialize_parset<parameter_indices_t, params...>::init_vals(
150 detail::initialize_parset<parameter_indices_t, params...>::init_vec(*
this,
166 template <parameter_indices_t parameter>
168 return detail::get_position<parameter_indices_t,
parameter,
183 template <
size_t index>
185 return detail::at_index<parameter_indices_t, index, params...>
::value;
197 template <parameter_indices_t parameter>
219 template <parameter_indices_t parameter>
236 detail::initialize_parset<parameter_indices_t, params...>::init_vec(*
this,
251 template <parameter_indices_t parameter>
253 return detail::is_contained<parameter_indices_t,
parameter,
281 template <parameter_indices_t parameter>
284 size_t index = getIndex<parameter>();
427 template <
typename parameter_indices_t, parameter_indices_t... kParameters>
429 kParameters...>::ProjectionMatrix
430 ParameterSet<parameter_indices_t, kParameters...>::sProjector =
431 detail::make_projection_matrix<
432 kSizeMax,
static_cast<unsigned int>(kParameters)...>::
init();