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

#include <string-builder.h>

Inheritance diagram for v8::internal::wasm::StringBuilder:
Collaboration diagram for v8::internal::wasm::StringBuilder:

Public Member Functions

 StringBuilder ()
 
 StringBuilder (const StringBuilder &)=delete
 
StringBuilderoperator= (const StringBuilder &)=delete
 
 ~StringBuilder ()
 
char * allocate (size_t n)
 
void write (const uint8_t *data, size_t n)
 
void write (const char *data, size_t n)
 
const char * start () const
 
const char * cursor () const
 
size_t length () const
 
void rewind_to_start ()
 
void backspace ()
 

Protected Types

enum  OnGrowth : bool { kKeepOldChunks , kReplacePreviousChunk }
 

Protected Member Functions

 StringBuilder (OnGrowth on_growth)
 
void start_here ()
 
size_t approximate_size_mb ()
 

Private Member Functions

void Grow (size_t requested)
 

Private Attributes

char stack_buffer_ [kStackSize]
 
std::vector< char * > chunks_
 
char * start_ = stack_buffer_
 
char * cursor_ = stack_buffer_
 
size_t remaining_bytes_ = kStackSize
 
const OnGrowth on_growth_
 

Static Private Attributes

static constexpr size_t kStackSize = 256
 
static constexpr size_t kChunkSize = 1024 * 1024
 

Detailed Description

Definition at line 26 of file string-builder.h.

Member Enumeration Documentation

◆ OnGrowth

Enumerator
kKeepOldChunks 
kReplacePreviousChunk 

Definition at line 75 of file string-builder.h.

Constructor & Destructor Documentation

◆ StringBuilder() [1/3]

v8::internal::wasm::StringBuilder::StringBuilder ( )
inline

Definition at line 28 of file string-builder.h.

◆ StringBuilder() [2/3]

v8::internal::wasm::StringBuilder::StringBuilder ( const StringBuilder & )
explicitdelete

◆ ~StringBuilder()

v8::internal::wasm::StringBuilder::~StringBuilder ( )
inline

Definition at line 31 of file string-builder.h.

◆ StringBuilder() [3/3]

v8::internal::wasm::StringBuilder::StringBuilder ( OnGrowth on_growth)
inlineexplicitprotected

Definition at line 78 of file string-builder.h.

Member Function Documentation

◆ allocate()

char * v8::internal::wasm::StringBuilder::allocate ( size_t n)
inline

Definition at line 41 of file string-builder.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ approximate_size_mb()

size_t v8::internal::wasm::StringBuilder::approximate_size_mb ( )
inlineprotected

Definition at line 81 of file string-builder.h.

Here is the caller graph for this function:

◆ backspace()

void v8::internal::wasm::StringBuilder::backspace ( )
inline

Definition at line 68 of file string-builder.h.

◆ cursor()

const char * v8::internal::wasm::StringBuilder::cursor ( ) const
inline

Definition at line 59 of file string-builder.h.

Here is the caller graph for this function:

◆ Grow()

void v8::internal::wasm::StringBuilder::Grow ( size_t requested)
inlineprivate

Definition at line 87 of file string-builder.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ length()

size_t v8::internal::wasm::StringBuilder::length ( ) const
inline

Definition at line 60 of file string-builder.h.

Here is the caller graph for this function:

◆ operator=()

StringBuilder & v8::internal::wasm::StringBuilder::operator= ( const StringBuilder & )
delete

◆ rewind_to_start()

void v8::internal::wasm::StringBuilder::rewind_to_start ( )
inline

Definition at line 61 of file string-builder.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ start()

const char * v8::internal::wasm::StringBuilder::start ( ) const
inline

Definition at line 58 of file string-builder.h.

Here is the caller graph for this function:

◆ start_here()

void v8::internal::wasm::StringBuilder::start_here ( )
inlineprotected

Definition at line 79 of file string-builder.h.

Here is the caller graph for this function:

◆ write() [1/2]

void v8::internal::wasm::StringBuilder::write ( const char * data,
size_t n )
inline

Definition at line 53 of file string-builder.h.

Here is the call graph for this function:

◆ write() [2/2]

void v8::internal::wasm::StringBuilder::write ( const uint8_t * data,
size_t n )
inline

Definition at line 49 of file string-builder.h.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ chunks_

std::vector<char*> v8::internal::wasm::StringBuilder::chunks_
private

Definition at line 118 of file string-builder.h.

◆ cursor_

char* v8::internal::wasm::StringBuilder::cursor_ = stack_buffer_
private

Definition at line 120 of file string-builder.h.

◆ kChunkSize

size_t v8::internal::wasm::StringBuilder::kChunkSize = 1024 * 1024
staticconstexprprivate

Definition at line 115 of file string-builder.h.

◆ kStackSize

size_t v8::internal::wasm::StringBuilder::kStackSize = 256
staticconstexprprivate

Definition at line 113 of file string-builder.h.

◆ on_growth_

const OnGrowth v8::internal::wasm::StringBuilder::on_growth_
private

Definition at line 122 of file string-builder.h.

◆ remaining_bytes_

size_t v8::internal::wasm::StringBuilder::remaining_bytes_ = kStackSize
private

Definition at line 121 of file string-builder.h.

◆ stack_buffer_

char v8::internal::wasm::StringBuilder::stack_buffer_[kStackSize]
private

Definition at line 117 of file string-builder.h.

◆ start_

char* v8::internal::wasm::StringBuilder::start_ = stack_buffer_
private

Definition at line 119 of file string-builder.h.


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