summaryrefslogtreecommitdiff
path: root/absl/strings/internal/cordz_update_tracker.h
diff options
context:
space:
mode:
Diffstat (limited to 'absl/strings/internal/cordz_update_tracker.h')
-rw-r--r--absl/strings/internal/cordz_update_tracker.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/absl/strings/internal/cordz_update_tracker.h b/absl/strings/internal/cordz_update_tracker.h
index a090676d..741950b2 100644
--- a/absl/strings/internal/cordz_update_tracker.h
+++ b/absl/strings/internal/cordz_update_tracker.h
@@ -90,7 +90,14 @@ class CordzUpdateTracker {
}
private:
- std::atomic<int64_t> values_[kNumMethods];
+ // Until C++20 std::atomic is not constexpr default-constructible, so we need
+ // a wrapper for this class to be constexpr constructible.
+ class Counter : public std::atomic<int64_t> {
+ public:
+ constexpr Counter() noexcept : std::atomic<int64_t>(0) {}
+ };
+
+ Counter values_[kNumMethods];
};
} // namespace cord_internal