mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2025-12-14 00:10:45 +03:00
23 lines
741 B
Diff
23 lines
741 B
Diff
--- a/absl/strings/internal/string_constant.h
|
|
+++ b/absl/strings/internal/string_constant.h
|
|
@@ -35,12 +35,18 @@ namespace strings_internal {
|
|
// below.
|
|
template <typename T>
|
|
struct StringConstant {
|
|
+ private:
|
|
+ static constexpr bool ValidateConstant(absl::string_view view) {
|
|
+ return view.empty() || 2 * view[0] != 1;
|
|
+ }
|
|
+
|
|
+public:
|
|
static constexpr absl::string_view value = T{}();
|
|
constexpr absl::string_view operator()() const { return value; }
|
|
|
|
// Check to be sure `view` points to constant data.
|
|
// Otherwise, it can't be constant evaluated.
|
|
- static_assert(value.empty() || 2 * value[0] != 1,
|
|
+ static_assert(ValidateConstant(value),
|
|
"The input string_view must point to constant data.");
|
|
};
|
|
|