#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_HEAP_HEAP_ALLOCATOR_IMPL_H_
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_HEAP_HEAP_ALLOCATOR_IMPL_H_
#include "base/bits.h"
#include "third_party/blink/renderer/platform/heap/collection_support/heap_hash_table_backing.h"
#include "third_party/blink/renderer/platform/heap/collection_support/heap_vector_backing.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/heap/thread_state_storage.h"
#include "third_party/blink/renderer/platform/heap/visitor.h"
#include "third_party/blink/renderer/platform/heap/write_barrier.h"
#include "third_party/blink/renderer/platform/platform_export.h"
#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
#include "third_party/blink/renderer/platform/wtf/allocator/partition_allocator.h"
#include "v8/include/cppgc/explicit-management.h"
#include "v8/include/cppgc/heap-consistency.h"
#include "v8/include/cppgc/internal/api-constants.h"
#include "v8/include/cppgc/trace-trait.h"
#include "v8/include/cppgc/visitor.h"
namespace blink {
template <typename T>
void GenerationalBarrierForBacking(
const cppgc::subtle::HeapConsistency::WriteBarrierParams& params,
T* slot_in_backing);
template <typename K, typename V>
void GenerationalBarrierForBacking(
const cppgc::subtle::HeapConsistency::WriteBarrierParams& params,
std::pair<K, V>* slot_in_backing);
template <typename K, typename V>
void GenerationalBarrierForBacking(
const cppgc::subtle::HeapConsistency::WriteBarrierParams& params,
WTF::KeyValuePair<K, V>* slot_in_backing);
class PLATFORM_EXPORT HeapAllocator { … };
template <typename T>
void GenerationalBarrierForBacking(
const cppgc::subtle::HeapConsistency::WriteBarrierParams& params,
T* slot_in_backing) { … }
template <typename K, typename V>
void GenerationalBarrierForBacking(
const cppgc::subtle::HeapConsistency::WriteBarrierParams& params,
std::pair<K, V>* slot_in_backing) { … }
template <typename K, typename V>
void GenerationalBarrierForBacking(
const cppgc::subtle::HeapConsistency::WriteBarrierParams& params,
WTF::KeyValuePair<K, V>* slot_in_backing) { … }
}
#endif