Pepper_31_C++_interfaces
|
A generic type used for passing data types between the module and the page. More...
#include <var.h>
Classes | |
struct | DontManage |
struct | Null |
Special value passed to constructor to make NULL . More... | |
class | OutException |
Public Member Functions | |
Var () | |
Var (Null) | |
A constructor used to create a Var of type Null . More... | |
Var (bool b) | |
Var (int32_t i) | |
Var (double d) | |
Var (const char *utf8_str) | |
A constructor used to create a UTF-8 character Var . More... | |
Var (const std::string &utf8_str) | |
A constructor used to create a UTF-8 character Var . More... | |
Var (PassRef, const PP_Var &var) | |
Var (const PP_Var &var) | |
A constructor that increments the reference count. More... | |
Var (DontManage, const PP_Var &var) | |
Var (const Var &other) | |
A constructor for copying a Var . More... | |
virtual | ~Var () |
Destructor. More... | |
virtual Var & | operator= (const Var &other) |
bool | operator== (const Var &other) const |
bool | is_undefined () const |
bool | is_null () const |
bool | is_bool () const |
bool | is_string () const |
bool | is_object () const |
bool | is_array () const |
bool | is_dictionary () const |
bool | is_int () const |
bool | is_double () const |
bool | is_number () const |
bool | is_array_buffer () const |
This function determines if this Var is an ArrayBuffer. More... | |
bool | AsBool () const |
int32_t | AsInt () const |
double | AsDouble () const |
std::string | AsString () const |
const PP_Var & | pp_var () const |
PP_Var | Detach () |
std::string | DebugString () const |
Protected Attributes | |
PP_Var | var_ |
bool | is_managed_ |
A generic type used for passing data types between the module and the page.
pp::Var::Var | ( | ) |
Default constructor. Creates a Var
of type Undefined
.
Referenced by pp::Var::OutException::~OutException().
pp::Var::Var | ( | bool | b | ) |
A constructor used to create a Var
of type Bool
.
[in] | b | A boolean value. |
pp::Var::Var | ( | int32_t | i | ) |
A constructor used to create a 32 bit integer Var
.
[in] | i | A 32 bit integer value. |
pp::Var::Var | ( | double | d | ) |
A constructor used to create a double value Var
.
[in] | d | A double value. |
pp::Var::Var | ( | const char * | utf8_str | ) |
A constructor used to create a UTF-8 character Var
.
pp::Var::Var | ( | const std::string & | utf8_str | ) |
A constructor used to create a UTF-8 character Var
.
A constructor used when you have received a Var
as a return value that has had its reference count incremented for you.
You will not normally need to use this constructor because the reference count will not normally be incremented for you.
Definition at line 58 of file var.h.
References is_managed_, and var_.
|
explicit |
A constructor that increments the reference count.
|
inline |
This constructor is used when we've given a PP_Var
as an input argument from somewhere and that reference is managing the reference count for us. The object will not have its reference count increased or decreased by this class instance.
[in] | var | A Var . |
Definition at line 76 of file var.h.
References is_managed_, and var_.
|
virtual |
Destructor.
bool pp::Var::AsBool | ( | ) | const |
AsBool() converts this Var
to a bool. Assumes the internal representation is_bool(). If it's not, it will assert in debug mode, and return false.
Var
. Referenced by pp::ext::internal::FromVarConverter< bool >::Set().
double pp::Var::AsDouble | ( | ) | const |
AsDouble() converts this Var
to a double. This function is necessary because JavaScript doesn't have a concept of ints and doubles, only numbers. The distinction between the two is an optimization inside the compiler. Since converting from a double to an int may be lossy, if you care about the distinction, either always work in doubles, or check !is_double() before calling AsInt().
These functions will assert in debug mode and return 0 if the internal representation is not is_number().
Var
. Referenced by pp::ext::internal::FromVarConverter< double >::Set().
int32_t pp::Var::AsInt | ( | ) | const |
AsInt() converts this Var
to an int32_t. This function is required because JavaScript doesn't have a concept of ints and doubles, only numbers. The distinction between the two is an optimization inside the compiler. Since converting from a double to an int may be lossy, if you care about the distinction, either always work in doubles, or check !is_double() before calling AsInt().
These functions will assert in debug mode and return 0 if the internal representation is not is_number().
Var
. Referenced by pp::URLResponseInfo::GetStatusCode(), and pp::ext::internal::FromVarConverter< int32_t >::Set().
std::string pp::Var::AsString | ( | ) | const |
AsString() converts this Var
to a string. If this object is not a string, it will assert in debug mode, and return an empty string.
Var
. Referenced by pp::ext::internal::FromVarConverter< std::string >::Set().
std::string pp::Var::DebugString | ( | ) | const |
DebugString() returns a short description "Var<X>" that can be used for logging, where "X" is the underlying scalar or "UNDEFINED" or "OBJ" as it does not call into the browser to get the object description.
Var
. This function is used for debugging.
|
inline |
Detach() detaches from the internal PP_Var
of this object, keeping the reference count the same. This is used when returning a PP_Var
from an API function where the caller expects the return value to have the reference count incremented for it.
Definition at line 224 of file var.h.
References is_managed_, and var_.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
This function determines if this Var
is a double value. The is_double
function returns the internal representation. The JavaScript runtime may convert between the two as needed, so the distinction may not be relevant in all cases (int is really an optimization inside the runtime). So most of the time, you will want to check is_number().
Var
is a double, otherwise false. Definition at line 156 of file var.h.
References var_.
|
inline |
This function determines if this Var
is an integer value. The is_int
function returns the internal representation. The JavaScript runtime may convert between the two as needed, so the distinction may not be relevant in all cases (int is really an optimization inside the runtime). So most of the time, you will want to check is_number().
Var
is an integer, otherwise false. Definition at line 146 of file var.h.
References var_.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
This function assigns one Var
to another Var
.
[in] | other | The Var to be assigned. |
Var
. Reimplemented in pp::VarArrayBuffer, pp::VarDictionary, and pp::VarArray.
|
inline |
This function returns the internal PP_Var
managed by this Var
object.
PP_Var
. Definition at line 213 of file var.h.
References var_.
Referenced by pp::ext::internal::ArrayVarOutputAdapterWithStorage< T >::output(), pp::ext::DictField< pp::ext::socket::SocketType_Dev >::Populate(), pp::ext::OptionalDictField< int32_t >::Populate(), pp::ext::internal::ToVarConverterBase::pp_var(), pp::FontDescription_Dev::set_face(), and pp::TrueTypeFontDesc_Dev::set_family().
|
protected |
|
protected |
Definition at line 295 of file var.h.
Referenced by Detach(), is_array(), is_array_buffer(), is_bool(), is_dictionary(), is_double(), is_int(), is_null(), is_number(), is_object(), is_string(), is_undefined(), pp::Var::OutException::OutException(), pp_var(), and Var().