#include <iostream>
#include <random>
#include <vector>
#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include "absl/base/config.h"
#include "absl/crc/internal/crc_cord_state.h"
#include "absl/strings/cord.h"
#include "absl/strings/internal/cord_internal.h"
#include "absl/strings/internal/cord_rep_btree.h"
#include "absl/strings/internal/cord_rep_crc.h"
#include "absl/strings/internal/cord_rep_flat.h"
#include "absl/strings/internal/cordz_info.h"
#include "absl/strings/internal/cordz_sample_token.h"
#include "absl/strings/internal/cordz_statistics.h"
#include "absl/strings/internal/cordz_update_scope.h"
#include "absl/strings/internal/cordz_update_tracker.h"
#include "absl/synchronization/internal/thread_pool.h"
#include "absl/synchronization/notification.h"
namespace absl {
ABSL_NAMESPACE_BEGIN
namespace cord_internal {
inline void PrintTo(const CordzStatistics& stats, std::ostream* s) { … }
namespace {
Ge;
CordRepFlat* Flat(size_t size) { … }
CordRepExternal* External(size_t length = 512) { … }
CordRepSubstring* Substring(CordRep* rep) { … }
struct RefHelper { … };
template <typename T>
size_t SizeOf(const T* rep) { … }
template <>
size_t SizeOf(const CordRepFlat* rep) { … }
template <>
size_t SizeOf(const CordRepExternal* rep) { … }
double FairShareImpl(CordRep* rep, size_t ref) { … }
size_t FairShare(CordRep* rep, size_t ref = 1) { … }
CordzStatistics SampleCord(CordRep* rep) { … }
MATCHER_P(EqStatistics, stats, "Statistics equal expected values") { … }
TEST(CordzInfoStatisticsTest, Flat) { … }
TEST(CordzInfoStatisticsTest, SharedFlat) { … }
TEST(CordzInfoStatisticsTest, External) { … }
TEST(CordzInfoStatisticsTest, SharedExternal) { … }
TEST(CordzInfoStatisticsTest, Substring) { … }
TEST(CordzInfoStatisticsTest, SharedSubstring) { … }
TEST(CordzInfoStatisticsTest, BtreeLeaf) { … }
TEST(CordzInfoStatisticsTest, BtreeNodeShared) { … }
TEST(CordzInfoStatisticsTest, Crc) { … }
TEST(CordzInfoStatisticsTest, EmptyCrc) { … }
TEST(CordzInfoStatisticsTest, ThreadSafety) { … }
}
}
ABSL_NAMESPACE_END
}