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.
- All D class objects inherit from Object.
- Convert Object to a human readable string.
- Compute hash function for Object.
- 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
- Information about an interface.
When an object is accessed via an interface, an Interface* appears as the
first entry in its vtbl.
- .classinfo for this interface (not for containing class)
- offset to Interface 'this' from Object 'this'
- 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[].
- class static initializer
(init.length gives size in bytes of class)
- class name
- virtual function pointer table
- interfaces this class implements
- base class
static ClassInfo
find(in char[]
classname);
- Search all modules for ClassInfo corresponding to classname.
Returns:
null if not found
- 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.
- Array of pairs giving the offset and type information for each
member in an aggregate.
- Offset of member from start of object
- TypeInfo for this member
- 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 >.
- Returns size of the type.
void
swap(void*
p1, void*
p2);
- Swaps two instances of the type.
- Get TypeInfo for 'next' type, as defined by what kind of type this is,
null if none.
- Return default initializer, null if default initialize to 0
- 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
- Run the destructor on the object and all its sub-objects
- Run the postblit on the object and all its sub-objects
-
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.
- Initialize the modules.
- Destruct the modules.
-