5#ifndef INCLUDE_V8_CPPGC_H_ 
    6#define INCLUDE_V8_CPPGC_H_ 
   21class AllocationHandle;
 
   33class CustomSpaceStatisticsReceiver;
 
   37      std::vector<std::unique_ptr<cppgc::CustomSpaceBase>> custom_spaces)
 
   38      : custom_spaces(
std::move(custom_spaces)) {}
 
 
 
   67  static std::unique_ptr<CppHeap> Create(
v8::Platform* platform,
 
   90  V8_DEPRECATED(
"Terminate gets automatically called in the CppHeap destructor")
 
  108  void CollectCustomSpaceStatisticsAtLastGC(
 
  109      std::vector<
cppgc::CustomSpaceIndex> custom_spaces,
 
  117  void EnableDetachedGarbageCollectionsForTesting();
 
  124  void CollectGarbageForTesting(
cppgc::EmbedderStackState stack_state);
 
  131  void CollectGarbageInYoungGenerationForTesting(
 
  132      cppgc::EmbedderStackState stack_state);
 
 
  183    return {
nullptr, Trace};
 
 
 
@ kIncrementalAndConcurrent
 
@ kIncrementalAndConcurrent
 
virtual void Visit(const void *self, TraceDescriptor)
 
virtual ~CppHeap()=default
 
virtual void AllocatedBytes(cppgc::CustomSpaceIndex space_index, size_t bytes)=0
 
virtual ~CustomSpaceStatisticsReceiver()=default
 
JSVisitor(cppgc::Visitor::Key key)
 
~JSVisitor() override=default
 
virtual void Visit(const TracedReferenceBase &ref)
 
void Trace(const TracedReferenceBase &ref)
 
bool IsEmptyThreadSafe() const
 
static cppgc::TraceDescriptor GetTraceDescriptor(const void *self)
 
static void Trace(Visitor *visitor, const void *self)
 
std::vector< std::unique_ptr< cppgc::CustomSpaceBase > > custom_spaces
 
CppHeapCreateParams(const CppHeapCreateParams &)=delete
 
CppHeapCreateParams(std::vector< std::unique_ptr< cppgc::CustomSpaceBase > > custom_spaces)
 
CppHeapCreateParams & operator=(const CppHeapCreateParams &)=delete
 
#define V8_DEPRECATED(message)
 
std::unique_ptr< ValueMirror > key