Iros
Loading...
Searching...
No Matches
none_of.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
di/container/algorithm/find_if.h
"
4
#include "
di/function/as_bool.h
"
5
6
namespace
di::container
{
7
namespace
detail
{
8
struct
NoneOfFunction
{
9
template
<concepts::InputIterator Iter, concepts::SentinelFor<Iter> Sent,
typename
Proj = function::Identity,
10
concepts::IndirectUnaryPredicate<meta::Projected<Iter, Proj>> Pred = function::AsBool>
11
constexpr
auto
operator()
(Iter first, Sent last, Pred pred = {}, Proj
proj
= {})
const
->
bool
{
12
return
container::find_if
(util::move(first), last,
util::ref
(pred),
util::ref
(
proj
)) == last;
13
}
14
15
template
<
concepts::InputContainer
Con,
typename
Proj =
function::Identity
,
16
concepts::IndirectUnaryPredicate<meta::Projected<meta::ContainerIterator<Con>
, Proj>> Pred =
17
function::AsBool
>
18
constexpr
auto
operator()
(Con&&
container
, Pred pred = {}, Proj
proj
= {})
const
->
bool
{
19
return
(*
this
)(
container::begin
(
container
),
container::end
(
container
),
util::ref
(pred),
util::ref
(
proj
));
20
}
21
};
22
}
23
24
constexpr
inline
auto
none_of
=
detail::NoneOfFunction
{};
25
}
26
27
namespace
di
{
28
using
container::none_of
;
29
}
as_bool.h
di::concepts::IndirectUnaryPredicate
Definition
indirect_unary_predicate.h:12
di::concepts::InputContainer
Definition
input_container.h:8
find_if.h
di::container::detail
Definition
sequence.h:13
di::container
Definition
sequence.h:12
di::container::find_if
constexpr auto find_if
Definition
find_if.h:31
di::container::end
constexpr auto end
Definition
end.h:47
di::container::none_of
constexpr auto none_of
Definition
none_of.h:24
di::container::begin
constexpr auto begin
Definition
begin.h:44
di::util::ref
constexpr auto ref
Definition
reference_wrapper.h:98
di
Definition
zstring_parser.h:9
di::proj
constexpr auto proj
Definition
proj.h:59
di::container::detail::NoneOfFunction
Definition
none_of.h:8
di::container::detail::NoneOfFunction::operator()
constexpr auto operator()(Iter first, Sent last, Pred pred={}, Proj proj={}) const -> bool
Definition
none_of.h:11
di::container::detail::NoneOfFunction::operator()
constexpr auto operator()(Con &&container, Pred pred={}, Proj proj={}) const -> bool
Definition
none_of.h:18
di::function::AsBool
Definition
as_bool.h:9
di::function::Identity
Definition
identity.h:7
libs
di
include
di
container
algorithm
none_of.h
Generated by
1.13.0