v8::String Class Reference

#include <v8.h>

Inheritance diagram for v8::String:

v8::Primitive v8::Value v8::Data

List of all members.

Public Member Functions

int Length () const
int Utf8Length () const
int Write (uint16_t *buffer, int start=0, int length=-1) const
int WriteAscii (char *buffer, int start=0, int length=-1) const
int WriteUtf8 (char *buffer, int length=-1) const
bool IsExternal () const
bool IsExternalAscii () const
ExternalStringResourceGetExternalStringResource () const
ExternalAsciiStringResourceGetExternalAsciiStringResource () const
bool MakeExternal (ExternalStringResource *resource)
bool MakeExternal (ExternalAsciiStringResource *resource)
bool CanMakeExternal ()

Static Public Member Functions

static v8::Local< v8::StringEmpty ()
static StringCast (v8::Value *obj)
static Local< StringNew (const char *data, int length=-1)
static Local< StringNew (const uint16_t *data, int length=-1)
static Local< StringNewSymbol (const char *data, int length=-1)
static Local< StringConcat (Handle< String > left, Handle< String >right)
static Local< StringNewExternal (ExternalStringResource *resource)
static Local< StringNewExternal (ExternalAsciiStringResource *resource)
static Local< StringNewUndetectable (const char *data, int length=-1)
static Local< StringNewUndetectable (const uint16_t *data, int length=-1)

Classes

class  AsciiValue
class  ExternalAsciiStringResource
class  ExternalStringResource
class  ExternalStringResourceBase
class  Utf8Value
class  Value


Detailed Description

A JavaScript string value (ECMA-262, 4.3.17).

Member Function Documentation

int v8::String::Length (  )  const

Returns the number of characters in this string.

int v8::String::Utf8Length (  )  const

Returns the number of bytes in the UTF-8 encoded representation of this string.

int v8::String::Write ( uint16_t *  buffer,
int  start = 0,
int  length = -1 
) const

Write the contents of the string to an external buffer. If no arguments are given, expects the buffer to be large enough to hold the entire string and NULL terminator. Copies the contents of the string and the NULL terminator into the buffer.

Copies up to length characters into the output buffer. Only null-terminates if there is enough space in the buffer.

Parameters:
buffer The buffer into which the string will be copied.
start The starting position within the string at which copying begins.
length The number of bytes to copy from the string.
Returns:
The number of characters copied to the buffer excluding the NULL terminator.

static v8::Local<v8::String> v8::String::Empty (  )  [static]

A zero length string.

bool v8::String::IsExternal (  )  const

Returns true if the string is external

Reimplemented from v8::Value.

bool v8::String::IsExternalAscii (  )  const

Returns true if the string is both external and ascii

String::ExternalStringResource * v8::String::GetExternalStringResource (  )  const [inline]

Get the ExternalStringResource for an external string. Returns NULL if IsExternal() doesn't return true.

ExternalAsciiStringResource* v8::String::GetExternalAsciiStringResource (  )  const

Get the ExternalAsciiStringResource for an external ascii string. Returns NULL if IsExternalAscii() doesn't return true.

static Local<String> v8::String::New ( const char *  data,
int  length = -1 
) [static]

Allocates a new string from either utf-8 encoded or ascii data. The second parameter 'length' gives the buffer length. If the data is utf-8 encoded, the caller must be careful to supply the length parameter. If it is not given, the function calls 'strlen' to determine the buffer length, it might be wrong if 'data' contains a null character.

static Local<String> v8::String::New ( const uint16_t *  data,
int  length = -1 
) [static]

Allocates a new string from utf16 data.

static Local<String> v8::String::NewSymbol ( const char *  data,
int  length = -1 
) [static]

Creates a symbol. Returns one if it exists already.

static Local<String> v8::String::Concat ( Handle< String left,
Handle< String right 
) [static]

Creates a new string by concatenating the left and the right strings passed in as parameters.

static Local<String> v8::String::NewExternal ( ExternalStringResource resource  )  [static]

Creates a new external string using the data defined in the given resource. The resource is deleted when the external string is no longer live on V8's heap. The caller of this function should not delete or modify the resource. Neither should the underlying buffer be deallocated or modified except through the destructor of the external string resource.

bool v8::String::MakeExternal ( ExternalStringResource resource  ) 

Associate an external string resource with this string by transforming it in place so that existing references to this string in the JavaScript heap will use the external string resource. The external string resource's character contents needs to be equivalent to this string. Returns true if the string has been changed to be an external string. The string is not modified if the operation fails.

static Local<String> v8::String::NewExternal ( ExternalAsciiStringResource resource  )  [static]

Creates a new external string using the ascii data defined in the given resource. The resource is deleted when the external string is no longer live on V8's heap. The caller of this function should not delete or modify the resource. Neither should the underlying buffer be deallocated or modified except through the destructor of the external string resource.

bool v8::String::MakeExternal ( ExternalAsciiStringResource resource  ) 

Associate an external string resource with this string by transforming it in place so that existing references to this string in the JavaScript heap will use the external string resource. The external string resource's character contents needs to be equivalent to this string. Returns true if the string has been changed to be an external string. The string is not modified if the operation fails.

bool v8::String::CanMakeExternal (  ) 

Returns true if this string can be made external.

static Local<String> v8::String::NewUndetectable ( const char *  data,
int  length = -1 
) [static]

Creates an undetectable string from the supplied ascii or utf-8 data.

static Local<String> v8::String::NewUndetectable ( const uint16_t *  data,
int  length = -1 
) [static]

Creates an undetectable string from the supplied utf-16 data.


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

Generated on Fri Jan 15 18:35:45 2010 for V8 by  doxygen 1.5.6