return H::combine(std::move(h), node.index_, node.prefix_len_, node.exclusive_, node.on_match_);
inline bool operator()(const IpRangeNode<DataType>& lhs, const IpRangeNode<DataType>& rhs) const {
IpRangeMatcher(DataInputPtr<DataType>&& data_input, absl::optional<OnMatch<DataType>> on_no_match,
std::vector<std::pair<IpRangeNode<DataType>, std::vector<Network::Address::CidrRange>>> data;
std::string name() const override { return "envoy.matching.custom_matchers.ip_range_matcher"; }
class NetworkIpRangeMatcherFactory : public IpRangeMatcherFactoryBase<Network::MatchingData> {};
class UdpNetworkIpRangeMatcherFactory : public IpRangeMatcherFactoryBase<Network::UdpMatchingData> {