OpenKalman
Classes | Typedefs | Functions | Variables
to.hpp File Reference
#include "basics/compatibility/ranges.hpp"
#include "view-concepts.hpp"
#include "range_adaptor_closure.hpp"
#include "transform.hpp"
Include dependency graph for to.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  OpenKalman::ranges::detail_to::is_adaptor_invocable< Adaptor, typename, Args >
 
struct  OpenKalman::ranges::detail_to::is_adaptor_invocable< Adaptor, std::void_t< decltype(std::declval< Adaptor >()(declval< Args >()...))>, Args... >
 
struct  OpenKalman::ranges::detail_to::Partial< Adaptor, Args >
 
struct  OpenKalman::ranges::detail_to::Partial< Adaptor, Args >
 
struct  OpenKalman::ranges::detail_to::Partial< Adaptor, Arg >
 
struct  OpenKalman::ranges::detail_to::reservable_container_impl< T, typename, typename >
 
struct  OpenKalman::ranges::detail_to::reservable_container_impl< T, std::void_t< decltype(std::declval< T & >().reserve(std::declval< ranges::range_size_t< T >>()))>, std::enable_if_t< std::is_same_v< decltype(std::declval< T & >().capacity()), ranges::range_size_t< T > > and std::is_same_v< decltype(std::declval< T & >().max_size()), ranges::range_size_t< T > > > >
 
struct  OpenKalman::ranges::detail_to::toable1_impl< Range, typename >
 
struct  OpenKalman::ranges::detail_to::toable1_impl< Cont, std::enable_if_t< not ranges::input_range< Cont > > >
 
struct  OpenKalman::ranges::detail_to::toable2_impl< Cont, Range, typename >
 
struct  OpenKalman::ranges::detail_to::toable2_impl< Cont, Range, std::enable_if_t< std::is_convertible_v< ranges::range_reference_t< Range >, ranges::range_value_t< Cont > > > >
 
struct  OpenKalman::ranges::detail_to::can_emplace_back< C, I, typename >
 
struct  OpenKalman::ranges::detail_to::can_emplace_back< C, I, std::void_t< decltype(std::declval< C & >().emplace_back(*std::declval< I & >()))> >
 
struct  OpenKalman::ranges::detail_to::can_push_back< C, I, typename >
 
struct  OpenKalman::ranges::detail_to::can_push_back< C, I, std::void_t< decltype(std::declval< C & >().push_back(*std::declval< I & >()))> >
 
struct  OpenKalman::ranges::detail_to::can_emplace< C, I, typename >
 
struct  OpenKalman::ranges::detail_to::can_emplace< C, I, std::void_t< decltype(std::declval< C & >().emplace(std::declval< C & >().end(), *std::declval< I & >()))> >
 
struct  OpenKalman::ranges::detail_to::InputIter< Rg >
 
struct  OpenKalman::ranges::detail_to::can_DeduceExpr1_impl< Cont, Rg, typename, Args >
 
struct  OpenKalman::ranges::detail_to::can_DeduceExpr1_impl< Cont, Rg, std::void_t< DeduceExpr1< Cont, Rg, Args... > >, Args... >
 
struct  OpenKalman::ranges::detail_to::can_DeduceExpr3_impl< Cont, Rg, typename, Args >
 
struct  OpenKalman::ranges::detail_to::can_DeduceExpr3_impl< Cont, Rg, std::void_t< DeduceExpr3< Cont, Rg, Args... > >, Args... >
 
struct  OpenKalman::ranges::detail_to::To< Cont >
 
struct  OpenKalman::ranges::detail_to::To2< Cont >
 

Typedefs

template<template< typename... > typename Cont, typename Rg , typename... Args>
using OpenKalman::ranges::detail_to::DeduceExpr1 = decltype(Cont(std::declval< Rg >(), std::declval< Args >()...))
 
template<template< typename... > typename Cont, typename Rg , typename... Args>
using OpenKalman::ranges::detail_to::DeduceExpr3 = decltype(Cont(std::declval< InputIter< Rg > >(), std::declval< InputIter< Rg > >(), std::declval< Args >()...))
 

Functions

template<typename Cont , typename Rg , typename... Args, std::enable_if_t< ranges::input_range< Rg > and not ranges::view< Cont >, int > = 0>
constexpr Cont OpenKalman::ranges::detail_to::to (Rg &&r, Args &&... args)
 
template<template< typename... > typename Cont, typename Rg , typename... Args, std::enable_if_t< ranges::input_range< Rg >, int > = 0>
constexpr auto OpenKalman::ranges::detail_to::to (Rg &&r, Args &&... args)
 
template<typename Cont , typename... Args, std::enable_if_t< not ranges::view< Cont >, int > = 0>
constexpr auto OpenKalman::ranges::detail_to::to (Args &&... args)
 
template<template< typename... > typename Cont, typename... Args>
constexpr auto OpenKalman::ranges::detail_to::to (Args &&...args)
 

Variables

template<typename Adaptor , typename... Args>
constexpr bool OpenKalman::ranges::detail_to::adaptor_invocable = is_adaptor_invocable<Adaptor, void, Args...>::value
 
template<typename Container >
constexpr bool OpenKalman::ranges::detail_to::reservable_container
 
template<typename Cont , typename Range >
constexpr bool OpenKalman::ranges::detail_to::toable = toable1_impl<Cont>::value or toable2_impl<Cont, Range>::value
 
template<template< typename... > typename Cont, typename Rg , typename... Args>
constexpr bool OpenKalman::ranges::detail_to::can_DeduceExpr1 = can_DeduceExpr1_impl<Cont, Rg, void, Args...>::value
 
template<template< typename... > typename Cont, typename Rg , typename... Args>
constexpr bool OpenKalman::ranges::detail_to::can_DeduceExpr3 = can_DeduceExpr3_impl<Cont, Rg, void, Args...>::value
 

Variable Documentation

◆ reservable_container

template<typename Container >
constexpr bool OpenKalman::ranges::detail_to::reservable_container
inline
Initial value:
=
ranges::sized_range<Container> and reservable_container_impl<Container>::value
constexpr bool value
T is numerical value or is reducible to a numerical value.
Definition: value.hpp:31