// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_URL_PATTERN_INDEX_URL_PATTERN_H_ #define COMPONENTS_URL_PATTERN_INDEX_URL_PATTERN_H_ #include <iosfwd> #include <optional> #include <string_view> #include "components/url_pattern_index/proto/rules.pb.h" #include "url/third_party/mozilla/url_parse.h" class GURL; namespace url_pattern_index { namespace flat { struct UrlRule; // The FlatBuffers version of UrlRule. } // The structure used to mirror a URL pattern regardless of the representation // of the UrlRule that owns it, and to match it against URLs. class UrlPattern { … }; // Allow pretty-printing URLPatterns when they are used in GTest assertions. std::ostream& operator<<(std::ostream& out, const UrlPattern& pattern); } // namespace url_pattern_index #endif // COMPONENTS_URL_PATTERN_INDEX_URL_PATTERN_H_