chromium/v8/test/unittests/zone/zone-vector-unittest.cc

// Copyright 2023 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include <optional>

#include "src/zone/zone-containers.h"
#include "test/unittests/test-utils.h"
#include "testing/gtest/include/gtest/gtest.h"

namespace v8::internal {

template <class T>
class LiveSet {};

template <typename T>
LiveSet<T>& live_set() {}

class Trivial {};

static_assert(std::is_trivially_copyable_v<Trivial>);

template <>
class LiveSet<Trivial> {};

class CopyAssignable {};

static_assert(!std::is_trivially_copyable_v<CopyAssignable>);
static_assert(std::is_copy_assignable_v<CopyAssignable>);
static_assert(!std::is_move_assignable_v<CopyAssignable>);

class MoveAssignable {};

static_assert(!std::is_trivially_copyable_v<MoveAssignable>);
static_assert(std::is_move_assignable_v<MoveAssignable>);
static_assert(!std::is_copy_assignable_v<MoveAssignable>);

class NotAssignable {};

static_assert(!std::is_trivially_copyable_v<NotAssignable>);
static_assert(!std::is_copy_assignable_v<NotAssignable>);
static_assert(!std::is_move_assignable_v<NotAssignable>);

class ZoneVectorTest : public TestWithZone {};

TEST_F(ZoneVectorTest, Basic) {}

TEST_F(ZoneVectorTest, Assign) {}

TEST_F(ZoneVectorTest, Insert) {}

TEST_F(ZoneVectorTest, Erase) {}

}  // namespace v8::internal