#include "base/atomicops.h"
#include <stdint.h>
#include <string.h>
#include <type_traits>
#include "testing/gtest/include/gtest/gtest.h"
template <class AtomicType>
static void TestAtomicIncrement() { … }
#define NUM_BITS(T) …
template <class AtomicType>
static void TestCompareAndSwap() { … }
template <class AtomicType>
static void TestAtomicExchange() { … }
template <class AtomicType>
static void TestAtomicIncrementBounds() { … }
template <class AtomicType>
static AtomicType TestFillValue() { … }
template <class AtomicType>
static void TestStore() { … }
template <class AtomicType>
static void TestLoad() { … }
TEST(AtomicOpsTest, Inc) { … }
TEST(AtomicOpsTest, CompareAndSwap) { … }
TEST(AtomicOpsTest, Exchange) { … }
TEST(AtomicOpsTest, IncrementBounds) { … }
TEST(AtomicOpsTest, Store) { … }
TEST(AtomicOpsTest, Load) { … }