Traits for coordinates::pattern objects.
More...
#include <coordinate_descriptor_traits.hpp>
|
static constexpr bool | is_specialized = false |
|
static constexpr auto | dimension |
| A callable object returning the number of dimensions at compile time (as a values::index). More...
|
|
static constexpr auto | stat_dimension |
| A callable object returning the number of dimensions after transforming to Euclidean space (as a values::index). More...
|
|
static constexpr auto | is_euclidean |
| A callable object returning a bool reflecting whether the coordinates::pattern object describes Euclidean coordinates. More...
|
|
static constexpr auto | hash_code = [](const T&) noexcept -> std::size_t { return typeid(T).hash_code(); } |
| A callable object returning a unique hash code for type T, of type std::size_t. More...
|
|
static constexpr auto | to_stat_space |
| A callable object mapping a range reflecting vector-space data to a corresponding range in a vector space for directional statistics. More...
|
|
static constexpr auto | from_stat_space |
| A callable object mapping a range in a vector space for directional statistics back to a range corresponding to the original vector space. More...
|
|
static constexpr auto | wrap |
| A callable object that maps a range reflecting vector-space data to a wrapped range. More...
|
|
template<typename T, typename = void>
struct OpenKalman::interface::coordinate_descriptor_traits< T, typename >
Traits for coordinates::pattern objects.
◆ dimension
template<typename T, typename = void>
Initial value:=
[](const T&) noexcept
{ return std::integral_constant<std::size_t, 0_uz>{}; }
A callable object returning the number of dimensions at compile time (as a values::index).
◆ from_stat_space
template<typename T, typename = void>
Initial value:=
[](const T& t, auto&& data_view) noexcept
{
return std::forward<decltype(data_view)>(data_view);
}
A callable object mapping a range in a vector space for directional statistics back to a range corresponding to the original vector space.
This is the inverse of to_stat_space
.
- Note
- Disregarded if T is a coordinates::euclidean_pattern. In this case, this will be treated as an identity function.
- Parameters
-
data_view | A collection of elements within a data object in directional-statistics space corresponding to the descriptor |
◆ hash_code
template<typename T, typename = void>
A callable object returning a unique hash code for type T, of type std::size_t.
Two coordinates will be equivalent if they have the same hash code. Generally, this can be obtained through calling typeid(t).hash_code()
.
◆ is_euclidean
template<typename T, typename = void>
Initial value:=
[](const T&) noexcept
{ return std::false_type {}; }
A callable object returning a bool reflecting whether the coordinates::pattern object describes Euclidean coordinates.
In this case, dimension() == stat_dimension().
◆ stat_dimension
template<typename T, typename = void>
Initial value: { return std::integral_constant<std::size_t, 0_uz>{}; }
A callable object returning the number of dimensions after transforming to Euclidean space (as a values::index).
◆ to_stat_space
template<typename T, typename = void>
Initial value:=
[](const T& t, auto&& data_view) noexcept
{
return std::forward<decltype(data_view)>(data_view);
}
A callable object mapping a range reflecting vector-space data to a corresponding range in a vector space for directional statistics.
This is the inverse of from_stat_space
.
- Note
- Disregarded if T is a coordinates::euclidean_pattern. In this case, this will be treated as an identity function.
- Parameters
-
data_view | A range within a data object corresponding to the descriptor |
◆ wrap
template<typename T, typename = void>
Initial value:=
[](const T& t, auto&& data_view) noexcept
{
return std::forward<decltype(data_view)>(data_view);
}
A callable object that maps a range reflecting vector-space data to a wrapped range.
The wrapped range is equivalent to from_stat_space(t, to_stat_space(t, data_view)). If data_view is an std::ranges::output_range, the update should be performed in place.
- Note
- Optional. This will be disregarded if T is a coordinates::euclidean_pattern. Otherwise, if not provided, the library will use
from_stat_space(t, to_stat_space(t, data_view)).
- Parameters
-
data_view | A collection of elements within a data object corresponding to the descriptor
|
The documentation for this struct was generated from the following file: