26 template<
typename It,
typename Sent>
29 constexpr auto operator()(It&& iterator, Sent&& sentinel)
const ->
concepts::View auto {
34 util::forward<Sent>(sentinel));
38 template<concepts::Container Con,
typename It,
typename Sent>
42 { (*this)(util::forward<It>(iterator), util::forward<Sent>(sentinel)) } ->
concepts::View;
47 util::forward<Sent>(sentinel));
48 }
else if constexpr (detail::ViewReconstruct<It, Sent>) {
50 util::forward<Sent>(sentinel));
52 return (*
this)(util::forward<It>(iterator), util::forward<Sent>(sentinel));
56 template<concepts::Container Con, concepts::Container T,
typename It,
typename Sent>
57 constexpr auto operator()(InPlaceType<Con>, T&& container, It&& iterator, Sent&& sentinel)
const -> concepts::View
59 requires(detail::CustomReconstruct<InPlaceType<Con>,
T, It, Sent> ||
62 (*this)(
in_place_type<Con>, util::forward<It>(iterator), util::forward<Sent>(sentinel))
66 if constexpr (detail::CustomReconstruct<InPlaceType<Con>, Con, It, Sent>) {
68 util::forward<It>(iterator), util::forward<Sent>(sentinel));
70 return (*
this)(
in_place_type<Con>, util::forward<It>(iterator), util::forward<Sent>(sentinel));
constexpr auto operator()(InPlaceType< Con >, It &&iterator, Sent &&sentinel) const -> concepts::View auto requires(detail::CustomReconstruct< InPlaceType< Con >, It, Sent >||
Definition reconstruct.h:39