Loading [MathJax]/jax/output/HTML-CSS/config.js
Iros
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
Loading...
Searching...
No Matches
between_exclusive.h
Go to the documentation of this file.
1#pragma once
2
5#include "di/function/less.h"
6
7namespace di::function {
8struct BetweenExclusive : CurryBack<BetweenExclusive> {
9 template<typename T, typename U = T, typename V = T>
10 constexpr static auto operator()(T const& value, U const& lower, V const& upper) -> bool
11 requires(requires {
13 di::less(value, upper);
14 })
15 {
16 return di::equal_or_greater(value, lower) && di::less(value, upper);
17 }
18
19 using CurryBack<BetweenExclusive>::operator();
20 constexpr static auto max_arity = 3ZU;
21};
22
23constexpr inline auto between_exclusive = BetweenExclusive {};
24}
25
26namespace di {
28using function::BetweenExclusive;
29}
Definition as_bool.h:8
constexpr auto between_exclusive
Definition between_exclusive.h:23
constexpr auto value
Definition value.h:34
Definition zstring_parser.h:9
constexpr auto equal_or_greater
Definition equal_or_greater.h:23
constexpr auto less
Definition less.h:23
Definition between_exclusive.h:8
static constexpr auto operator()(T const &value, U const &lower, V const &upper) -> bool requires(
Definition between_exclusive.h:10
static constexpr auto max_arity
Definition between_exclusive.h:20
Definition curry_back.h:88