14 requires(T&& container) {
all(util::forward<T>(container)); } && concepts::ConstantContainer<meta::AsView<T>>;
17 concept AsConstViewAsConst =
requires(T&& container) {
AsConstView { util::forward<T>(container) }; };
19 struct AsConstFunction :
public function::pipeline::EnablePipeline {
20 template<concepts::ViewableContainer Con>
21 requires(AllAsConst<Con> || AsConstViewAsConst<Con>)
22 constexpr auto operator()(Con&& container)
const -> concepts::View
auto {
23 if constexpr (AllAsConst<Con>) {
24 return all(util::forward<Con>(container));
26 return AsConstView { util::forward<Con>(container) };
32constexpr inline auto as_const = detail::AsConstFunction {};
constexpr auto all
Definition all.h:35
constexpr auto as_const
Definition as_const.h:32
AsConstView(Con &&) -> AsConstView< meta::AsView< Con > >