9namespace bricks::detail {
14template <
class Container,
typename std::enable_if_t<
15 !has_find_v<Container, typename Container::value_type>,
bool> =
true>
16constexpr auto contains(
const Container& container,
17 const typename Container::value_type& value)
noexcept ->
bool
19 return std::find(std::begin(container), std::end(container), value) != std::end(container);
25template <
class Container,
typename std::enable_if_t<
26 has_find_v<Container, typename Container::key_type>,
bool> =
true>
27constexpr auto contains(
const Container& container,
28 const typename Container::key_type& key)
noexcept ->
bool
30 return container.find(key) != std::end(container);
36template <
class CharT,
class Traits = std::
char_traits<CharT>,
37 class Allocator = std::allocator<CharT>>
38constexpr auto contains(
const std::basic_string<CharT, Traits, Allocator>& str,
39 const CharT& value)
noexcept ->
bool
41 return str.find(value) != std::basic_string<CharT, Traits, Allocator>::npos;
constexpr auto contains(const Container &container, const Value &value) noexcept -> bool
Checks whether a container contains a specific value.
Definition algorithm.hpp:95