10 struct EnumerateFunction;
12 template<
typename Con>
13 concept CustomEnumerate = concepts::TagInvocable<EnumerateFunction, Con>;
15 template<
typename Con>
16 concept ViewEnumerate =
requires(Con&& container) {
EnumerateView { util::forward<Con>(container) }; };
18 struct EnumerateFunction : function::pipeline::EnablePipeline {
19 template<concepts::ViewableContainer Con>
20 requires(CustomEnumerate<Con> || ViewEnumerate<Con>)
21 constexpr auto operator()(Con&& container)
const -> concepts::View
auto {
22 if constexpr (CustomEnumerate<Con>) {
31constexpr inline auto enumerate = detail::EnumerateFunction {};
constexpr auto enumerate
Definition enumerate.h:31
EnumerateView(Con &&) -> EnumerateView< meta::AsView< Con > >
constexpr tag_invoke_detail::TagInvokeFn tag_invoke
Definition tag_invoke.h:22
Definition any_storable.h:9