14#ifndef RANGES_V3_VIEW_GENERATE_HPP
15#define RANGES_V3_VIEW_GENERATE_HPP
31#include <range/v3/utility/static_const.hpp>
34#include <range/v3/detail/prologue.hpp>
45 using result_t = invoke_result_t<G &>;
46 semiregular_box_t<G> gen_;
47 detail::non_propagating_cache<result_t> val_;
58 result_t && read()
const
62 return static_cast<result_t &&
>(
static_cast<result_t &
>(*
view_->val_));
69 static_cast<void>(
view_->gen_());
98 std::is_object<detail::decay_t<invoke_result_t<G &>>>::value AND
99 constructible_from<detail::decay_t<invoke_result_t<G &>>,
100 invoke_result_t<G &>> AND
101 assignable_from<detail::decay_t<invoke_result_t<G &>> &,
102 invoke_result_t<G &>>)
116#include <range/v3/detail/epilogue.hpp>
117#include <range/v3/detail/satisfy_boost_range.hpp>
RANGES_INLINE_VARIABLE(detail::to_container_fn< detail::from_range< std::vector > >, to_vector) template< template< typename... > class ContT > auto to(RANGES_HIDDEN_DETAIL(detail
For initializing a container of the specified type with the elements of an Range.
Definition: conversion.hpp:399
Definition: generate.hpp:42
Definition: unreachable_sentinel.hpp:27
A utility for constructing a view from a (derived) type that implements begin and end cursors.
Definition: facade.hpp:66
Definition: generate.hpp:95