v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
cppgc::internal::RawHeap Class Referencefinal

#include <raw-heap.h>

Collaboration diagram for cppgc::internal::RawHeap:

Public Types

enum class  RegularSpaceType : uint8_t {
  kNormal1 , kNormal2 , kNormal3 , kNormal4 ,
  kLarge
}
 
using Spaces = std::vector<std::unique_ptr<BaseSpace>>
 
using iterator = Spaces::iterator
 
using const_iterator = Spaces::const_iterator
 

Public Member Functions

 RawHeap (HeapBase *heap, const std::vector< std::unique_ptr< CustomSpaceBase > > &custom_spaces)
 
 RawHeap (const RawHeap &)=delete
 
RawHeapoperator= (const RawHeap &)=delete
 
 ~RawHeap ()
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
iterator custom_begin ()
 
iterator custom_end ()
 
size_t size () const
 
BaseSpaceSpace (RegularSpaceType type)
 
const BaseSpaceSpace (RegularSpaceType space) const
 
BaseSpaceCustomSpace (CustomSpaceIndex space_index)
 
const BaseSpaceCustomSpace (CustomSpaceIndex space_index) const
 
HeapBaseheap ()
 
const HeapBaseheap () const
 

Static Public Attributes

static constexpr size_t kNumberOfRegularSpaces
 

Private Member Functions

size_t SpaceIndexForCustomSpace (CustomSpaceIndex space_index) const
 
BaseSpaceSpace (size_t space_index)
 
const BaseSpaceSpace (size_t space_index) const
 

Private Attributes

HeapBasemain_heap_
 
Spaces spaces_
 

Detailed Description

Definition at line 23 of file raw-heap.h.

Member Typedef Documentation

◆ const_iterator

using cppgc::internal::RawHeap::const_iterator = Spaces::const_iterator

Definition at line 48 of file raw-heap.h.

◆ iterator

using cppgc::internal::RawHeap::iterator = Spaces::iterator

Definition at line 47 of file raw-heap.h.

◆ Spaces

using cppgc::internal::RawHeap::Spaces = std::vector<std::unique_ptr<BaseSpace>>

Definition at line 46 of file raw-heap.h.

Member Enumeration Documentation

◆ RegularSpaceType

enum class cppgc::internal::RawHeap::RegularSpaceType : uint8_t
strong
Enumerator
kNormal1 
kNormal2 
kNormal3 
kNormal4 
kLarge 

Definition at line 35 of file raw-heap.h.

Constructor & Destructor Documentation

◆ RawHeap() [1/2]

cppgc::internal::RawHeap::RawHeap ( HeapBase * heap,
const std::vector< std::unique_ptr< CustomSpaceBase > > & custom_spaces )

Definition at line 15 of file raw-heap.cc.

◆ RawHeap() [2/2]

cppgc::internal::RawHeap::RawHeap ( const RawHeap & )
delete

◆ ~RawHeap()

cppgc::internal::RawHeap::~RawHeap ( )
default

Member Function Documentation

◆ begin() [1/2]

iterator cppgc::internal::RawHeap::begin ( )
inline

Definition at line 59 of file raw-heap.h.

◆ begin() [2/2]

const_iterator cppgc::internal::RawHeap::begin ( ) const
inline

Definition at line 60 of file raw-heap.h.

◆ custom_begin()

iterator cppgc::internal::RawHeap::custom_begin ( )
inline

Definition at line 64 of file raw-heap.h.

◆ custom_end()

iterator cppgc::internal::RawHeap::custom_end ( )
inline

Definition at line 65 of file raw-heap.h.

◆ CustomSpace() [1/2]

BaseSpace * cppgc::internal::RawHeap::CustomSpace ( CustomSpaceIndex space_index)
inline

Definition at line 78 of file raw-heap.h.

Here is the caller graph for this function:

◆ CustomSpace() [2/2]

const BaseSpace * cppgc::internal::RawHeap::CustomSpace ( CustomSpaceIndex space_index) const
inline

Definition at line 81 of file raw-heap.h.

Here is the call graph for this function:

◆ end() [1/2]

iterator cppgc::internal::RawHeap::end ( )
inline

Definition at line 61 of file raw-heap.h.

◆ end() [2/2]

const_iterator cppgc::internal::RawHeap::end ( ) const
inline

Definition at line 62 of file raw-heap.h.

◆ heap() [1/2]

HeapBase * cppgc::internal::RawHeap::heap ( )
inline

Definition at line 85 of file raw-heap.h.

Here is the caller graph for this function:

◆ heap() [2/2]

const HeapBase * cppgc::internal::RawHeap::heap ( ) const
inline

Definition at line 86 of file raw-heap.h.

◆ operator=()

RawHeap & cppgc::internal::RawHeap::operator= ( const RawHeap & )
delete

◆ size()

size_t cppgc::internal::RawHeap::size ( ) const
inline

Definition at line 67 of file raw-heap.h.

◆ Space() [1/4]

const BaseSpace * cppgc::internal::RawHeap::Space ( RegularSpaceType space) const
inline

Definition at line 74 of file raw-heap.h.

Here is the call graph for this function:

◆ Space() [2/4]

BaseSpace * cppgc::internal::RawHeap::Space ( RegularSpaceType type)
inline

Definition at line 69 of file raw-heap.h.

Here is the caller graph for this function:

◆ Space() [3/4]

BaseSpace * cppgc::internal::RawHeap::Space ( size_t space_index)
inlineprivate

Definition at line 94 of file raw-heap.h.

◆ Space() [4/4]

const BaseSpace * cppgc::internal::RawHeap::Space ( size_t space_index) const
inlineprivate

Definition at line 100 of file raw-heap.h.

Here is the call graph for this function:

◆ SpaceIndexForCustomSpace()

size_t cppgc::internal::RawHeap::SpaceIndexForCustomSpace ( CustomSpaceIndex space_index) const
inlineprivate

Definition at line 89 of file raw-heap.h.

Member Data Documentation

◆ kNumberOfRegularSpaces

size_t cppgc::internal::RawHeap::kNumberOfRegularSpaces
staticconstexpr
Initial value:

Definition at line 43 of file raw-heap.h.

◆ main_heap_

HeapBase* cppgc::internal::RawHeap::main_heap_
private

Definition at line 104 of file raw-heap.h.

◆ spaces_

Spaces cppgc::internal::RawHeap::spaces_
private

Definition at line 105 of file raw-heap.h.


The documentation for this class was generated from the following files: