Iros
 
Loading...
Searching...
No Matches
slide.h
Go to the documentation of this file.
1#pragma once
2
5
6namespace di::container::view {
7namespace detail {
8 struct SlideFunction;
9
10 template<typename Con, typename SSizeType>
12
13 template<typename Con, typename SSizeType>
14 concept ViewSlide = requires(Con&& container, SSizeType&& predicate) {
15 SlideView { util::forward<Con>(container), util::forward<SSizeType>(predicate) };
16 };
17
19 template<concepts::ViewableContainer Con, typename SSizeType>
21 constexpr auto operator()(Con&& container, SSizeType&& predicate) const -> concepts::View auto {
22 if constexpr (CustomSlide<Con, SSizeType>) {
23 return function::tag_invoke(*this, util::forward<Con>(container), util::forward<SSizeType>(predicate));
24 } else {
25 return SlideView { util::forward<Con>(container), util::forward<SSizeType>(predicate) };
26 }
27 }
28 };
29}
30
32}
33
34namespace di {
35using view::slide;
36}
Definition slide_view.h:32
Definition tag_invoke.h:33
Definition view.h:10
Definition adjacent.h:9
Definition adjacent.h:8
constexpr auto slide
Definition slide.h:31
Definition sequence.h:12
constexpr tag_invoke_detail::TagInvokeFn tag_invoke
Definition tag_invoke.h:22
constexpr auto curry_back
Definition curry_back.h:141
constexpr auto c_
A value of type Constexpr<val>.
Definition constexpr.h:252
Definition zstring_parser.h:9