OpenKalman
Classes | Functions | Variables
view-concepts.hpp File Reference
#include "basics/global-definitions.hpp"
#include "basics/compatibility/language-features.hpp"
#include "basics/compatibility/ranges.hpp"
#include "view_interface.hpp"
Include dependency graph for view-concepts.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  OpenKalman::ranges::view_base
 
struct  OpenKalman::ranges::detail::is_derived_from_view_interface< T, typename >
 
struct  OpenKalman::ranges::detail::is_derived_from_view_interface< T, std::void_t< decltype(is_derived_from_view_interface_test(std::declval< T >(), std::declval< T >()))> >
 
struct  OpenKalman::ranges::detail::is_initializer_list< T >
 
struct  OpenKalman::ranges::detail::is_initializer_list< std::initializer_list< T > >
 

Functions

template<typename T , typename U , std::enable_if_t< not std::is_same_v< T, view_interface< U >>, int > = 0>
void OpenKalman::ranges::detail::is_derived_from_view_interface_test (const T &, const view_interface< U > &)
 

Variables

template<class T >
constexpr bool OpenKalman::ranges::enable_view
 
template<typename T >
constexpr bool OpenKalman::ranges::view = range<T> and movable<T> and enable_view<T>
 
template<typename T >
constexpr bool OpenKalman::ranges::viewable_range
 

Variable Documentation

◆ enable_view

template<class T >
constexpr bool OpenKalman::ranges::enable_view
inline
Initial value:
=
(std::is_base_of_v<view_base, T> and std::is_convertible_v<const volatile T&, const volatile view_base&>) or
constexpr bool value
T is numerical value or is reducible to a numerical value.
Definition: value.hpp:31

◆ viewable_range

template<typename T >
constexpr bool OpenKalman::ranges::viewable_range
Initial value:
= ranges::range<T> and
((view<remove_cvref_t<T>> and std::is_constructible_v<remove_cvref_t<T>, T>) or
(not view<remove_cvref_t<T>> and
(std::is_lvalue_reference_v<T> or
(movable<std::remove_reference_t<T>> and not OpenKalman::internal::is_initializer_list<remove_cvref_t<T>>::value))))
constexpr bool value
T is numerical value or is reducible to a numerical value.
Definition: value.hpp:31
Whether the argument is a specialization of std::initializer_list.
Definition: global-definitions.hpp:165