#include "base/threading/sequence_local_storage_map.h"
#include <memory>
#include <utility>
#include "base/compiler_specific.h"
#include "base/memory/raw_ptr.h"
#include "partition_alloc/buildflags.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace base {
namespace internal {
namespace {
constexpr int kSlotId = …;
class TRIVIAL_ABI SetOnDestroy { … };
template <typename T, typename... Args>
SequenceLocalStorageMap::ValueDestructorPair CreateExternalValueDestructorPair(
Args... args) { … }
template <typename T, typename... Args>
SequenceLocalStorageMap::ValueDestructorPair CreateInlineValueDestructorPair(
Args... args) { … }
}
TEST(SequenceLocalStorageMapTest, SetGetExternal) { … }
TEST(SequenceLocalStorageMapTest, SetGetInline) { … }
TEST(SequenceLocalStorageMapTest, DestructorExternal) { … }
TEST(SequenceLocalStorageMapTest, DestructorCalledOnSetOverwriteExternal) { … }
template <typename T>
void DestructorInline() { … }
TEST(SequenceLocalStorageMapTest, DestructorInline) { … }
template <typename T>
void DestructorCalledOnSetOverwriteInline() { … }
TEST(SequenceLocalStorageMapTest, DestructorCalledOnSetOverwriteInline) { … }
}
}