9 template<
typename Iterator,
typename T,
typename BinaryCompare>
10 Iterator
find(Iterator begin, Iterator end,
const T &value, BinaryCompare q) {
11 return std::find_if(begin, end, [&value, q](
const T & other)->
bool {
return q(value, other);});
15 template<
typename Iterator,
typename T>
17 return std::distance(begin,
std::find(begin, end, value));
21 template<
typename Iterator,
typename T,
typename BinaryCompare>
23 return std::distance(begin,
find(begin, end, value, q));
27 template<
typename Iterator,
typename UnaryPredicate>
29 return std::distance(begin, std::find_if(begin, end, p));
33 template<
typename Iterator,
typename UnaryPredicate>
35 return std::distance(begin, std::find_if_not(begin, end, q));
40 template<
typename Container,
typename T,
typename BinaryCompare>
42 return std::distance(container.begin(),
find(container.begin(), container.end(), value, q));
46 template<
typename Container,
typename T>
48 return std::distance(container.begin(),
std::find(container.begin(), container.end(), value));
52 template<
typename Container,
typename UnaryPredicate>
54 return std::distance(container.begin(), std::find_if(container.begin(), container.end(), p));
58 template<
typename Container,
typename UnaryPredicate>
60 return std::distance(container.begin(), std::find_if_not(container.begin(), container.end(), q));
65 template<
typename Container,
typename T>
66 bool contains(
const Container &container,
const T &value) {
67 return container.end() !=
std::find(container.begin(), container.end(), value);
71 template<
typename Container,
typename T,
typename BinaryCompare>
72 bool contains(
const Container &container,
const T &value, BinaryCompare q) {
73 return container.end() !=
find(container.begin(), container.end(), value, q);
77 template<
typename Container,
typename UnaryPredicate>
78 bool contains_if(
const Container &container, UnaryPredicate p) {
79 return container.end() != std::find_if(container.begin(), container.end(), p);
83 template<
typename Container,
typename UnaryPredicate>
85 return container.end() != std::find_if_not(container.begin(), container.end(), q);
bool contains_if(const Container &container, UnaryPredicate p)
Equivalent to container.end() != std::find_if(container.begin(), container.end(), p) ...
Index find_index(Iterator begin, Iterator end, const T &value)
Equivalent to std::distance(begin, std::find(begin, end, value))
bool contains_if_not(const Container &container, UnaryPredicate q)
Equivalent to container.end() != std::find_if_not(container.begin(), container.end(), q)
Index find_index_if(Iterator begin, Iterator end, UnaryPredicate p)
Equivalent to std::distance(begin, std::find_if(begin, end, p))
EigenIndex Index
For long integer indexing:
Index find_index_if_not(Iterator begin, Iterator end, UnaryPredicate q)
Equivalent to std::distance(begin, std::find_if_not(begin, end, q))
Iterator find(Iterator begin, Iterator end, const T &value, BinaryCompare q)
Equivalent to std::find(begin, end, value), but with custom comparison.
bool contains(const Container &container, const T &value)
Equivalent to container.end() != std::find(container.begin(), container.end(), value) ...