#ifndef ABSL_CONTAINER_INTERNAL_TEST_ALLOCATOR_H_
#define ABSL_CONTAINER_INTERNAL_TEST_ALLOCATOR_H_
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <memory>
#include <type_traits>
#include "gtest/gtest.h"
#include "absl/base/config.h"
namespace absl {
ABSL_NAMESPACE_BEGIN
namespace container_internal {
template <typename T>
class CountingAllocator { … };
template <typename T>
struct CopyAssignPropagatingCountingAlloc : public CountingAllocator<T> { … };
template <typename T>
struct MoveAssignPropagatingCountingAlloc : public CountingAllocator<T> { … };
template <typename T>
struct SwapPropagatingCountingAlloc : public CountingAllocator<T> { … };
template <typename T>
struct MinimumAlignmentAlloc : std::allocator<T> { … };
inline bool IsAssertEnabled() { … }
template <template <class Alloc> class Container>
void TestCopyAssignAllocPropagation() { … }
template <template <class Alloc> class Container>
void TestMoveAssignAllocPropagation() { … }
template <template <class Alloc> class Container>
void TestSwapAllocPropagation() { … }
template <template <class Alloc> class Container>
void TestAllocPropagation() { … }
}
ABSL_NAMESPACE_END
}
#endif