D Programming Language 2.0

- Comments
- D
- Search
- Home

Last update Mon May 11 15:11:37 2009

# object

$(DDOC_SECTIONS Forms the symbols available to all D programs. Includes Object, which is the root of the class object hierarchy. This module is implicitly imported.

$(DDOC_LICENSE 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;

Copyright Digital Mars 2000 - 2009. | Page generated by Ddoc.