1 #ifndef OSMIUM_TAGS_MATCHER_HPP 2 #define OSMIUM_TAGS_MATCHER_HPP 39 #include <type_traits> 69 template <
typename TKey,
typename X =
typename std::enable_if<
70 std::is_convertible<TKey, osmium::StringMatcher>::value,
void>
::type>
84 template <
typename TKey,
typename TValue,
85 typename std::enable_if<std::is_convertible<TKey, osmium::StringMatcher>::value,
int>
::type = 0,
86 typename std::enable_if<std::is_convertible<TValue, osmium::StringMatcher>::value,
int>
::type = 0>
87 TagMatcher(TKey&& key_matcher, TValue&& value_matcher,
bool invert =
false) :
98 bool operator()(
const char* key,
const char* value)
const noexcept {
118 for (
const auto& tag : tags) {
119 if (
operator()(tag)) {
130 #endif // OSMIUM_TAGS_MATCHER_HPP TagMatcher()
Definition: matcher.hpp:58
type
Definition: entity_bits.hpp:63
bool operator()(const osmium::TagList &tags) const noexcept
Definition: matcher.hpp:117
Definition: location.hpp:550
TagMatcher(TKey &&key_matcher, TValue &&value_matcher, bool invert=false)
Definition: matcher.hpp:87
Namespace for everything in the Osmium library.
Definition: assembler.hpp:53
bool operator()(const char *key, const char *value) const noexcept
Definition: matcher.hpp:98
Definition: string_matcher.hpp:73
Definition: matcher.hpp:47
bool operator()(const osmium::Tag &tag) const noexcept
Definition: matcher.hpp:108
bool m_result
Definition: matcher.hpp:51
Definition: string_matcher.hpp:84
TagMatcher(TKey &&key_matcher)
Definition: matcher.hpp:71
osmium::StringMatcher m_value_matcher
Definition: matcher.hpp:50
osmium::StringMatcher m_key_matcher
Definition: matcher.hpp:49