OpenKalman
Classes | Namespaces | Macros | Typedefs | Functions
Dimensions.hpp File Reference

Definition of the Dimensions class. More...

#include <cstddef>
#include "collections/collections.hpp"
#include "coordinates/interfaces/coordinate_descriptor_traits.hpp"
#include "coordinates/concepts/fixed_pattern.hpp"
#include "coordinates/concepts/dynamic_pattern.hpp"
#include "coordinates/concepts/euclidean_pattern.hpp"
#include "coordinates/traits/dimension_of.hpp"
#include "coordinates/functions/get_dimension.hpp"
#include "Any.hpp"
Include dependency graph for Dimensions.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  OpenKalman::coordinates::Dimensions< N >
 A structure representing the dimensions associated with of a particular index. More...
 
struct  OpenKalman::coordinates::Dimensions< stdex::dynamic_extent >
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
struct  OpenKalman::interface::coordinate_descriptor_traits< coordinates::Dimensions< N > >
 
struct  std::common_type< OpenKalman::coordinates::Dimensions< M >, OpenKalman::coordinates::Dimensions< N > >
 
struct  std::common_type< OpenKalman::coordinates::Dimensions< N >, T >
 
struct  std::common_type< OpenKalman::coordinates::Dimensions< N >, OpenKalman::coordinates::Any< Scalar > >
 
struct  std::common_type< OpenKalman::coordinates::Any< Scalar >, OpenKalman::coordinates::Dimensions< N > >
 
struct  std::common_type< std::integral_constant< T, M >, OpenKalman::coordinates::Dimensions< N > >
 
struct  std::common_type< OpenKalman::values::fixed_value< T, M... >, OpenKalman::coordinates::Dimensions< N > >
 
struct  std::common_type< OpenKalman::values::consteval_operation< Args... >, OpenKalman::coordinates::Dimensions< N > >
 

Namespaces

 OpenKalman::coordinates
 The namespace for features relating to coordinates::pattern object.
 

Macros

#define OPENKALMAN_INDEX_STD_COMMON_TYPE_SPECIALIZATION(I)
 

Typedefs

using OpenKalman::coordinates::Axis = Dimensions< 1 >
 Alias for a 1D Euclidean coordinates::pattern object.
 

Functions

template<typename D , std::enable_if_t< fixed_pattern< D > and euclidean_pattern< D >, int > = 0>
 OpenKalman::coordinates::Dimensions (D &&) -> Dimensions< dimension_of< D >::value >
 
 OpenKalman::coordinates::Dimensions (const std::size_t &) -> Dimensions< stdex::dynamic_extent >
 

Detailed Description

Definition of the Dimensions class.

Macro Definition Documentation

◆ OPENKALMAN_INDEX_STD_COMMON_TYPE_SPECIALIZATION

#define OPENKALMAN_INDEX_STD_COMMON_TYPE_SPECIALIZATION (   I)
Value:
namespace std \
{ \
template<std::size_t N> \
struct common_type<I, OpenKalman::coordinates::Dimensions<N>> \
: common_type<OpenKalman::coordinates::Dimensions<N>, I> {}; \
}