template<typename Space, typename MeasurementSpace, std::size_t Count = std::dynamic_extent, typename Scalar_ = double, typename Allocator = DefaultAllocator>
struct Emrys::MeasurementUpdate< Space, MeasurementSpace, Count, Scalar_, Allocator >
The result of update(): weighted branches, one per noise component, and the observation's log-likelihood.
A single Gaussian noise gives one branch.
- Template Parameters
-
| Space | the state's space |
| MeasurementSpace | the measurement space |
| Count | number of branches if known at compile time, otherwise std::dynamic_extent |
| Scalar_ | the scalar type |
| Allocator | where a run-time number of branches comes from (see Allocation) |
template<typename Space, typename MeasurementSpace, std::size_t Count = std::dynamic_extent, typename Scalar_ = double, typename Allocator = DefaultAllocator>
Initial value:std::conditional_t<
Count == std::dynamic_extent,
internal::Buffer<BranchType, Allocator>,
std::array<BranchType, Count>>
The branches' container: an array when their number is known at compile time, and otherwise a buffer from Allocator.