OpenKalman
Classes | Functions | Variables
range_adaptor_closure.hpp File Reference
#include <type_traits>
#include "basics/compatibility/language-features.hpp"
#include "view-concepts.hpp"
#include "ref_view.hpp"
#include "owning_view.hpp"
Include dependency graph for range_adaptor_closure.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  OpenKalman::ranges::range_adaptor_closure< D >
 
struct  OpenKalman::ranges::detail::is_range_adaptor_closure_impl< T, typename >
 
struct  OpenKalman::ranges::detail::is_range_adaptor_closure_impl< T, std::void_t< decltype(detail::range_adaptor_closure_fn(std::declval< T >(), std::declval< T >()))> >
 
struct  OpenKalman::ranges::detail::is_pipe_invocable< Lhs, Rhs, R, typename >
 
struct  OpenKalman::ranges::detail::is_pipe_invocable< Lhs, Rhs, R, std::void_t< decltype(std::declval< Rhs >()(std::declval< Lhs >()(std::declval< R >())))> >
 
struct  OpenKalman::ranges::internal::Pipe< Lhs, Rhs >
 

Functions

template<typename T , typename U , std::enable_if_t< not std::is_same_v< T, range_adaptor_closure< U >>, int > = 0>
void OpenKalman::ranges::detail::range_adaptor_closure_fn (const T &, const range_adaptor_closure< U > &)
 
template<typename S , typename R , std::enable_if_t< detail::is_range_adaptor_closure< S > and not detail::is_range_adaptor_closure< R >, int > = 0>
constexpr auto OpenKalman::ranges::operator| (R &&r, S &&s)
 
template<typename Lhs , typename Rhs , std::enable_if_t< detail::is_range_adaptor_closure< Lhs > and detail::is_range_adaptor_closure< Rhs >, int > = 0>
constexpr auto OpenKalman::ranges::operator| (Lhs &&lhs, Rhs &&rhs)
 

Variables

template<typename T >
constexpr bool OpenKalman::ranges::detail::is_range_adaptor_closure = detail::is_range_adaptor_closure_impl<T>::value
 
template<typename Lhs , typename Rhs , typename R >
constexpr bool OpenKalman::ranges::detail::pipe_invocable = is_pipe_invocable<Lhs, Rhs, R>::value