14 template<
typename Con>
15 concept AllRefView =
requires(Con&& container) {
RefView { util::forward<Con>(container) }; };
17 template<
typename Con>
18 concept AllOwningView =
requires(Con&& container) { OwningView { util::forward<Con>(container) }; };
20 struct AllFunction : function::pipeline::EnablePipeline {
21 template<concepts::ViewableContainer Con>
22 requires(concepts::View<meta::Decay<Con>> || AllRefView<Con> || AllOwningView<Con>)
23 constexpr auto operator()(Con&& container)
const {
24 if constexpr (concepts::View<meta::Decay<Con>>) {
25 return util::forward<Con>(container);
26 }
else if constexpr (AllRefView<Con>) {
27 return RefView { util::forward<Con>(container) };
29 return OwningView { util::forward<Con>(container) };
35constexpr inline auto all = detail::AllFunction {};
constexpr auto all
Definition all.h:35
RefView(Cont &) -> RefView< Cont >