www.digitalmars.com

D Programming Language 2.0

Last update Sun Apr 19 16:54:05 2009

object

Part of the D programming language runtime library. Forms the symbols available to all D programs. Includes Object, which is the root of the class object hierarchy.

This module is implicitly imported.

class Object;
All D class objects inherit from Object.

string toString();
Convert Object to a human readable string.

hash_t toHash();
Compute hash function for Object.

int opCmp(Object o);
Compare with another Object obj.

Returns:
this < obj < 0
this == obj 0
this > obj > 0

equals_t opEquals(Object o);
Returns !=0 if this object does have the same contents as obj.

static Object factory(string classname);
Create instance of class specified by classname. The class must either have no constructors or have a default constructor.

Returns:
null if failed

struct Interface;
Information about an interface. When an object is accessed via an interface, an Interface* appears as the first entry in its vtbl.

ClassInfo classinfo;
.classinfo for this interface (not for containing class)

ptrdiff_t offset;
offset to Interface 'this' from Object 'this'

class ClassInfo;
Runtime type information about a class. Can be retrieved for any class type or instance by using the .classinfo property. A pointer to this appears as the first entry in the class's vtbl[].

byte[] init;
class static initializer (init.length gives size in bytes of class)

string name;
class name

void*[] vtbl;
virtual function pointer table

Interface[] interfaces;
interfaces this class implements

ClassInfo base;
base class

static ClassInfo find(in char[] classname);
Search all modules for ClassInfo corresponding to classname.

Returns:
null if not found

Object create();
Create instance of Object represented by 'this'.

const(MemberInfo[]) getMembers(in char[] name);
Search for all members with the name 'name'. If name[] is null, return all members.

struct OffsetTypeInfo;
Array of pairs giving the offset and type information for each member in an aggregate.

size_t offset;
Offset of member from start of object

TypeInfo ti;
TypeInfo for this member

class TypeInfo;
Runtime type information about a type. Can be retrieved for any type using a TypeidExpression.

hash_t getHash(in void* p);
Returns a hash of the instance of a type.

equals_t equals(in void* p1, in void* p2);
Compares two instances for equality.

int compare(in void* p1, in void* p2);
Compares two instances for <, ==, or >.

size_t tsize();
Returns size of the type.

void swap(void* p1, void* p2);
Swaps two instances of the type.

TypeInfo next();
Get TypeInfo for 'next' type, as defined by what kind of type this is, null if none.

void[] init();
Return default initializer, null if default initialize to 0

uint flags();
Get flags for type: 1 means GC should scan for pointers

OffsetTypeInfo[] offTi();
Get type information on the contents of the type; null if not available

void destroy(void* p);
Run the destructor on the object and all its sub-objects

void postblit(void* p);
Run the postblit on the object and all its sub-objects

class Throwable;

void rt_setTraceHandler(TraceHandler h);
Overrides the default trace hander with a user-supplied version.

Parameters:
TraceHandler h The new trace handler. Set to null to use the default handler.

Throwable.TraceInfo traceContext(void* ptr = null);
This function will be called when an exception is constructed. The user-supplied trace handler will be called if one has been supplied, otherwise no trace will be generated.

Parameters:
void* ptr A pointer to the location from which to generate the trace, or null if the trace should be generated from within the trace handler itself.

Returns:
An object describing the current calling context or null if no handler is supplied.

void _moduleCtor();
Initialize the modules.

void _moduleDtor();
Destruct the modules.

alias IMonitor;