object
D言語ランタイムライブラリの一部で 全てのDプログラムでアクセスできるシンボルが定義されています。 クラスオブジェクト階層のルートである、Object クラスの定義を含みます。 Source:object_.d License:
Boost License 1.0. Authors:
Walter Bright, Sean Kelly このモジュールは自動でimportされます。
- 全てのDのクラスは Object から派生しています
- オブジェクトを人間に読める文字列形式へ変換します
- Objectのハッシュ値計算関数です
- thisオブジェクトと別のobjオブジェクトを比較します
Returns:
this < obj < 0 this == obj 0 this > obj > 0
- thisオブジェクトがobjと同じ内容を持っているとき、非ゼロの値を返します
- classname で指定された名前のクラスのインスタンスを作成します。
クラスは、コンストラクタをまったく持たないか、
デフォルトコンストラクタが実装されている必要があります。
Returns:
失敗すると null
- lhs と rhs が等しいときに true を返します。
- インターフェイスに関する情報です
オブジェクトがインターフェイスとしてアクセスされる際には、
このInterface構造体へのポインタが、vtbl[] の先頭エントリに格納されています。
- クラスの実行時型情報です。任意のクラス型やインスタンスから、
.classinfo プロパティによって取得することが出来ます。
このオブジェクトへのポインタが、クラスの vtbl[] の先頭エントリに格納されています。
- 集成体のメンバ毎の
オフセットと型情報をペアにした配列
- 該当メンバの、オブジェクト先頭からのオフセット
- 該当メンバの TypeInfo
- 型の実行時型情報。
任意の型から、
TypeidExpression によって取得できます
- 型のインスタンスのハッシュ値を返します
- 二つのインスタンスの同値性を比較します
- 二つのインスタンスの <, ==, > を比較します
- 型のサイズを返します。
- 型のインスタンス2つをswapします
- '次' の型のTypeInfoを返します。この型が何の型であるかによって、'次'の意味は異なります。
なければ null を返します。
- デフォルトの初期化子を返します。ゼロ初期化の場合は null です
- 型のフラグを返します。現在のところ、1 が、GCがポインタを探すためにスキャンする型であることを示しています。
- 型の内容の情報を取得します。取得不可能な場合は null
- 型のアラインメントサイズ
- オブジェクトとそのサブオブジェクト全てに対しデストラクタを呼び出します。
- オブジェクトとそのサブオブジェクト全てに対し postblit を呼び出します。
- クラスに関する実行時型情報。 オブジェクトのインスタンスから、 .classinfo プロパティで取得できます。
- デフォルトのトレースハンドラを、ユーザー定義のものに置き換えます。
Params:
TraceHandler h 新しいトレースハンドラ。null にするとデフォルトのハンドラに設定されます。
- 現在のトレースハンドラを返します
- 例外が構築されるときに、この関数が実行されます。
ユーザー定義のハンドラが指定されている場合は、そのハンドラが呼び出されます。
それ以外の場合は何も生成されません。
Params:
void* ptr トレースを生成した箇所へのポインタか、または null です。 null は、 トレースハンドラの内部でトレースが生成されるべきであることを示します。
Returns:
ハンドラが設定されていない場合null、されている場合 現在の呼び出しコンテキストを表すオブジェクトを返します。
- 全てのモジュールを初期化します。
- モジュールコンストラクタの循環をチェックし、 モジュールコンストラクタの実行順を確定します。
- スレッドローカルグローバルデータの静的コンストラクタを実行します。
- 全てのモジュールを破棄します。
- (プロパティ) 配列の現在の容量を取得します。容量とは、 メモリの再割り当てなしで追加できる最大の要素数です。
- 配列の容量を設定します。 容量とは、 メモリの再割り当てなしで追加できる最大の要素数です。 返値は新しい容量です (指定した値より大きい可能性があります。)
- この配列へのappendが安全であるという仮定をランタイムに伝えます。 この関数を呼び出した後のarrへのappendは、 たとえ構造のメモリ領域を参照しているスライス等が残っていたとしても、in-placeの上書きで実現されます。 この配列への将来のappendのときに領域を再利用したいときに使います。 この関数を使うのは、arrの後ろに有効な要素が残っていないことを確信できるときに限って下さい。 残っている要素があると、この配列へのappendによって破壊されてしまうことがあります。 (※訳注: a=b=[1,2,3,4,5]; a=a[0..2]; assumeSafeAppend(a); a~=6; すると b=[1,2,6,4,5] になっちゃう的なことだと思う。) この関数の読み出し後、 この配列の後ろに配置されているデータを参照すると未定義動作となります。
- 異なる型の二つの配列の各要素が等しいかどうか調べるためのヘルパ関数です。