| // Copyright 2022 The RE2 Authors. All Rights Reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| #ifndef RE2_STRINGPIECE_H_ |
| #define RE2_STRINGPIECE_H_ |
| |
| #include "absl/strings/string_view.h" |
| |
| namespace re2 { |
| |
| // RE2 has two versions: "sans Abseil" in the main branch; and "avec Abseil" in |
| // the abseil branch. This has led to a diamond dependency problem for projects |
| // like Envoy: as per https://github.com/google/re2/issues/388, GoogleTest took |
| // a dependency on RE2 avec Abseil, but other things depend on RE2 sans Abseil. |
| // To resolve this conflict until both versions can migrate to std::string_view |
| // (C++17), those other things must be able to #include "re2/stringpiece.h" and |
| // use re2::StringPiece. (This is a hack, obviously, but it beats telling every |
| // project in this situation that they have to perform source transformations.) |
| using StringPiece = absl::string_view; |
| |
| } // namespace re2 |
| |
| #endif // RE2_STRINGPIECE_H_ |