Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
v8::String::ExternalStringResource Class Referenceabstract

#include <v8-primitive.h>

Inheritance diagram for v8::String::ExternalStringResource:
[legend]
Collaboration diagram for v8::String::ExternalStringResource:
[legend]

Public Member Functions

 ~ExternalStringResource () override=default
 
virtual const uint16_t * data () const =0
 
virtual size_t length () const =0
 
const uint16_t * cached_data () const
 
void UpdateDataCache ()
 
- Public Member Functions inherited from v8::String::ExternalStringResourceBase
virtual ~ExternalStringResourceBase ()=default
 
virtual bool IsCacheable () const
 
virtual void Unaccount (Isolate *isolate)
 
 ExternalStringResourceBase (const ExternalStringResourceBase &)=delete
 
void operator= (const ExternalStringResourceBase &)=delete
 

Protected Member Functions

 ExternalStringResource ()=default
 
- Protected Member Functions inherited from v8::String::ExternalStringResourceBase
 ExternalStringResourceBase ()=default
 
virtual void Dispose ()
 
virtual void Lock () const
 
virtual void Unlock () const
 

Detailed Description

An ExternalStringResource is a wrapper around a two-byte string buffer that resides outside V8's heap. Implement an ExternalStringResource to manage the life cycle of the underlying buffer. Note that the string data must be immutable.

Constructor & Destructor Documentation

◆ ~ExternalStringResource()

v8::String::ExternalStringResource::~ExternalStringResource ( )
overridedefault

Override the destructor to manage the life cycle of the underlying buffer.

◆ ExternalStringResource()

v8::String::ExternalStringResource::ExternalStringResource ( )
protecteddefault

Member Function Documentation

◆ cached_data()

const uint16_t * v8::String::ExternalStringResource::cached_data ( ) const
inline

Returns the cached data from the underlying buffer. This method can be called only for cacheable resources (i.e. IsCacheable() == true) and only after UpdateDataCache() was called.

◆ data()

virtual const uint16_t * v8::String::ExternalStringResource::data ( ) const
pure virtual

The string data from the underlying buffer. If the resource is cacheable then data() must return the same value for all invocations.

◆ length()

virtual size_t v8::String::ExternalStringResource::length ( ) const
pure virtual

The length of the string. That is, the number of two-byte characters.

◆ UpdateDataCache()

void v8::String::ExternalStringResource::UpdateDataCache ( )

Update {cached_data_} with the data from the underlying buffer. This can be called only for cacheable resources.


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