5 #ifndef VCCC_ALGORITHM_RANGES_CONTAINS_HPP_ 
    6 #define VCCC_ALGORITHM_RANGES_CONTAINS_HPP_ 
   36 struct contains_niebloid {
 
   37   template<
typename I, 
typename S, 
typename T, 
typename Proj = identity, std::enable_if_t<conjunction<
 
   41       indirect_binary_predicate<ranges::equal_to, projected<I, Proj>, 
const T*>
 
   43   constexpr 
bool operator()(I 
first, S last, 
const T& 
value, Proj proj = {}) 
const {
 
   47   template<
typename R, 
typename T, 
typename Proj = identity, std::enable_if_t<conjunction<
 
   49       projectable<iterator_t<R>, Proj>,
 
   50       indirect_binary_predicate<ranges::equal_to, projected<iterator_t<R>, Proj>, 
const T*>
 
   52   constexpr 
bool operator()(R&& r, 
const T& 
value, Proj proj = {}) 
const {
 
constexpr VCCC_INLINE_OR_STATIC detail::find_niebloid find
Definition: find.hpp:54
constexpr VCCC_INLINE_OR_STATIC detail::contains_niebloid contains
Definition: contains.hpp:59
constexpr VCCC_INLINE_OR_STATIC detail::begin_niebloid begin
returns an iterator to the beginning of a range
Definition: begin.hpp:116
constexpr VCCC_INLINE_OR_STATIC detail::end_niebloid end
returns a sentinel indicating the end of a range
Definition: end.hpp:120
#define VCCC_INLINE_OR_STATIC
Definition: inline_or_static.hpp:9
Definition: directory.h:12
constexpr VCCC_INLINE_OR_STATIC detail::element_niebloid< 0 > first
Definition: key_value.hpp:34
constexpr VCCC_INLINE_OR_STATIC detail::element_niebloid< 1 > value
Definition: key_value.hpp:35