# kjs Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# KJS::Value Class Reference

Value objects are act as wrappers ("smart pointers") around ValueImp objects and their descendents. More...

`#include <value.h>`

Inheritance diagram for KJS::Value:

[legend]
Collaboration diagram for KJS::Value:

[legend]
List of all members.

## Public Member Functions

| Value (ValueImp *v)
| Value (const Value &v)
Value & | operator= (const Value &v)
bool | isValid () const
bool | isNull () const
ValueImp * | imp () const
Type | type () const
bool | isA (Type t) const
Value | toPrimitive (ExecState *exec, Type preferredType=UnspecifiedType) const
bool | toBoolean (ExecState *exec) const
double | toNumber (ExecState *exec) const
int | toInteger (ExecState *exec) const
int | toInt32 (ExecState *exec) const
unsigned int | toUInt32 (ExecState *exec) const
unsigned short | toUInt16 (ExecState *exec) const
UString | toString (ExecState *exec) const
Object | toObject (ExecState *exec) const
bool | toUInt32 (unsigned &i) const

## Protected Attributes

ValueImp * | rep

## Detailed Description

Value objects are act as wrappers ("smart pointers") around ValueImp objects and their descendents.

Instead of using ValueImps (and derivatives) during normal program execution, you should use a Value-derived class.

Value maintains a pointer to a ValueImp object and uses a reference counting scheme to ensure that the ValueImp object is not deleted or garbage collected.

Note: The conversion operations all return values of various types - if an error occurs during conversion, an error object will instead be returned (where possible), and the execution state's exception will be set appropriately.

Definition at line 169 of file value.h.

## Member Function Documentation

bool KJS::Value::isValid | ( |  | ) | const`[inline]`

| Returns whether or not this is a valid value. An invalid value has a 0 implementation pointer and should not be used for any other operation than this check. Current use: as a distinct return value signalling failing dynamicCast() calls. Definition at line 183 of file value.h.

bool KJS::Value::isNull | ( |  | ) | const`[inline]`

Deprecated:
  Use !isValid() instead.

Definition at line 188 of file value.h.

Referenced by KJS::Reference::getValue().

Type KJS::Value::type | ( |  | ) | const`[inline]`

Returns the type of value.

This is one of UndefinedType, NullType, BooleanType, StringType, NumberType, or ObjectType.

Returns:
  The type of value

Definition at line 197 of file value.h.

Referenced by KJS::Reference::getValue(), and KJS::Reference::putValue().

bool KJS::Value::isA | ( | Type | t | ) | const`[inline]`

Checks whether or not the value is of a particular tpye.

Parameters:

  | t | The type to compare with

Returns:
  true if the value is of the specified type, otherwise false

Definition at line 205 of file value.h.

Value KJS::Value::toPrimitive | ( | ExecState * | exec,
|  | Type | preferredType = `UnspecifiedType`
| ) | const`[inline]`

| Performs the ToPrimitive type conversion operation on this value (ECMA 9.1). Definition at line 211 of file value.h.

bool KJS::Value::toBoolean | ( | ExecState * | exec | ) | const`[inline]`

| Performs the ToBoolean type conversion operation on this value (ECMA 9.2). Definition at line 218 of file value.h.

double KJS::Value::toNumber | ( | ExecState * | exec | ) | const`[inline]`

| Performs the ToNumber type conversion operation on this value (ECMA 9.3). Definition at line 223 of file value.h.

int KJS::Value::toInteger | ( | ExecState * | exec | ) | const`[inline]`

| Performs the ToInteger type conversion operation on this value (ECMA 9.4). Definition at line 228 of file value.h.

int KJS::Value::toInt32 | ( | ExecState * | exec | ) | const`[inline]`

| Performs the ToInt32 type conversion operation on this value (ECMA 9.5). Definition at line 233 of file value.h.

unsigned int KJS::Value::toUInt32 | ( | ExecState * | exec | ) | const`[inline]`

| Performs the ToUInt32 type conversion operation on this value (ECMA 9.6). Definition at line 238 of file value.h.

unsigned short KJS::Value::toUInt16 | ( | ExecState * | exec | ) | const`[inline]`

| Performs the ToUInt16 type conversion operation on this value (ECMA 9.7). Definition at line 243 of file value.h.

UString KJS::Value::toString | ( | ExecState * | exec | ) | const`[inline]`

| Performs the ToString type conversion operation on this value (ECMA 9.8). Definition at line 248 of file value.h.

Object KJS::Value::toObject | ( | ExecState * | exec | ) | const`[inline]`

| Performs the ToObject type conversion operation on this value (ECMA 9.9). Definition at line 357 of file object.h. References KJS::ValueImp::dispatchToObject().

bool KJS::Value::toUInt32 | ( | unsigned & | i | ) | const`[inline]`

| Checks if we can do a lossless conversion to UInt32. Definition at line 258 of file value.h.

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

- value.h
- object.h
- value.cpp

This file is part of the documentation for kjs Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:23:17 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003