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.

Members

Aliases

DEvent
alias DEvent = void delegate(Object)
Undocumented in source.
IMonitor
alias IMonitor = Object.Monitor

///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////

TraceHandler
alias TraceHandler = Exception.TraceInfo function(void* ptr = null)
Undocumented in source.
dstring
alias dstring = dchar[]
Undocumented in source.
equals_t
alias equals_t = int
Undocumented in source.
hash_t
alias hash_t = size_t
Undocumented in source.
ptrdiff_t
alias ptrdiff_t = long
Undocumented in source.
ptrdiff_t
alias ptrdiff_t = int
Undocumented in source.
size_t
alias size_t = ulong
Undocumented in source.
size_t
alias size_t = uint
Undocumented in source.
string
alias string = char[]
Undocumented in source.
wstring
alias wstring = wchar[]
Undocumented in source.

Classes

ClassInfo
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[].

Exception
class Exception

///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////

ModuleInfo
class ModuleInfo
Undocumented in source.
Object
class Object

All D class objects inherit from Object.

TypeInfo
class TypeInfo

Runtime type information about a type. Can be retrieved for any type using a <a href="../expression.html#typeidexpression">TypeidExpression</a>.

TypeInfo_Array
class TypeInfo_Array
Undocumented in source.
TypeInfo_AssociativeArray
class TypeInfo_AssociativeArray
Undocumented in source.
TypeInfo_Class
class TypeInfo_Class
Undocumented in source.
TypeInfo_Delegate
class TypeInfo_Delegate
Undocumented in source.
TypeInfo_Enum
class TypeInfo_Enum
Undocumented in source.
TypeInfo_Function
class TypeInfo_Function
Undocumented in source.
TypeInfo_Interface
class TypeInfo_Interface
Undocumented in source.
TypeInfo_Pointer
class TypeInfo_Pointer
Undocumented in source.
TypeInfo_StaticArray
class TypeInfo_StaticArray
Undocumented in source.
TypeInfo_Struct
class TypeInfo_Struct
Undocumented in source.
TypeInfo_Tuple
class TypeInfo_Tuple
Undocumented in source.
TypeInfo_Typedef
class TypeInfo_Typedef
Undocumented in source.

Enums

MIctorstart
anonymousenum MIctorstart

///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////

Functions

_d_monitor_create
void _d_monitor_create(Object )
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
_d_monitor_destroy
void _d_monitor_destroy(Object )
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
_d_monitor_devt
void _d_monitor_devt(Monitor* m, Object h)
Undocumented in source. Be warned that the author may not have intended to support it.
_d_monitor_lock
void _d_monitor_lock(Object )
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
_d_monitor_unlock
int _d_monitor_unlock(Object )
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
_d_monitordelete
void _d_monitordelete(Object h, bool det)
Undocumented in source. Be warned that the author may not have intended to support it.
_d_monitorenter
void _d_monitorenter(Object h)
Undocumented in source. Be warned that the author may not have intended to support it.
_d_monitorexit
void _d_monitorexit(Object h)
Undocumented in source. Be warned that the author may not have intended to support it.
_fatexit
int _fatexit(void* )
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
_moduleCtor
void _moduleCtor()

Initialize the modules.

_moduleCtor2
void _moduleCtor2(ModuleInfo from, ModuleInfo[] mi, int skip)
Undocumented in source. Be warned that the author may not have intended to support it.
_moduleDtor
void _moduleDtor()

Destruct the modules.

_moduleIndependentCtors
void _moduleIndependentCtors()
Undocumented in source. Be warned that the author may not have intended to support it.
getMonitor
Monitor* getMonitor(Object h)
Undocumented in source. Be warned that the author may not have intended to support it.
rt_attachDisposeEvent
void rt_attachDisposeEvent(Object h, DEvent e)
Undocumented in source. Be warned that the author may not have intended to support it.
rt_createTraceContext
Exception.TraceInfo rt_createTraceContext(void* ptr)

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.

rt_detachDisposeEvent
bool rt_detachDisposeEvent(Object h, DEvent e)
Undocumented in source. Be warned that the author may not have intended to support it.
rt_detachDisposeEventNoLock
bool rt_detachDisposeEventNoLock(Object h, DEvent e)
Undocumented in source. Be warned that the author may not have intended to support it.
rt_setTraceHandler
void rt_setTraceHandler(TraceHandler h)

Overrides the default trace hander with a user-supplied version.

setMonitor
void setMonitor(Object h, Monitor* m)
Undocumented in source. Be warned that the author may not have intended to support it.

Structs

Interface
struct Interface

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

ModuleReference
struct ModuleReference
Undocumented in source.
ModuleReference
struct ModuleReference
Undocumented in source.
Monitor
struct Monitor
Undocumented in source.
OffsetTypeInfo
struct OffsetTypeInfo

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

PointerMap
struct PointerMap

Pointer map for precise heap scanning. Format: PointerMap pm = typeid(T).pointermap; pm.bits = header ~ scan_bits ~ pointer_bits size_t header is the number of pointer sized units in T (T.sizeof/size_t.sizeof) size_t[] scan_bits is the bitmap; each bit covers size_t bytes of T, meaning: 0: guaranteed not to be a pointer, don't scan 1: possibly a pointer, must scan size_t[] pointer_bits is a second bitmap similar to scan_bits. If the corrsponding bit in scan_bits is 0, the bit is 0; otherwise its meaning is: 0: pointer can not be moved, because it's possibly an integer 1: pointer can be moved, the corresponding word is always a pointer Note that not the bit-arrays are concatenated, but the size_t arrays. This implies all GC-aware pointers must be aligned on size_t boundaries. The compiler won't set any bits for unaligned pointer fields. The least significant bit of a size_t item is considered the first bit. PointerMap.init is a conservative scanning mask equivelant to void*[]

PointerMapBuilder
struct PointerMapBuilder

code for manually building PointerMaps separate struct from PointerMap because for some representations, it may be hard to handle arbitrary pointerAt() calls to update the internal data structure (think of pointer maps encoded as lists of runs etc.) xxx untested

Variables

_Dmodule_ref
ModuleReference* _Dmodule_ref;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
_Dmodule_ref
ModuleReference* _Dmodule_ref;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
_moduleinfo_array
ModuleInfo[] _moduleinfo_array;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
_moduleinfo_dtors
ModuleInfo[] _moduleinfo_dtors;
Undocumented in source.
_moduleinfo_dtors_i
uint _moduleinfo_dtors_i;
Undocumented in source.

Meta