OpenKalman
Classes | Namespaces | Functions
to_extents.hpp File Reference
#include "patterns/functions/get_dimension.hpp"
#include "patterns/concepts/pattern_collection.hpp"
#include "patterns/traits/pattern_collection_element.hpp"
Include dependency graph for to_extents.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  OpenKalman::patterns::detail::derive_rank< P, curr_rank >
 
struct  OpenKalman::patterns::detail::derive_rank< P, 0 >
 

Namespaces

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

Functions

template<std::size_t previous_i, std::size_t... SDs, typename P , typename... Ds>
constexpr auto OpenKalman::patterns::detail::derive_extents (const P &p, Ds...ds)
 
template<std::size_t rank, typename P , std::enable_if_t< pattern_collection< P > and values::fixed_value_compares_with< collections::size_of< P >, stdex::dynamic_extent, &stdex::is_neq >, int > = 0>
constexpr auto OpenKalman::patterns::to_extents (P &&p)
 Convert a pattern_collection to std::extents. More...
 
template<std::size_t rank, typename IndexType , std::size_t... Extents>
decltype(auto) constexpr OpenKalman::patterns::to_extents (const stdex::extents< IndexType, Extents... > &p)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<std::size_t rank, typename IndexType , std::size_t... Extents>
constexpr auto OpenKalman::patterns::to_extents (stdex::extents< IndexType, Extents... > &&p)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename P , std::enable_if_t< pattern_collection< P > and values::fixed_value_compares_with< collections::size_of< P >, stdex::dynamic_extent, &stdex::is_neq >, int > = 0>
constexpr auto OpenKalman::patterns::to_extents (P &&p)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...