英語版
このページの英語版を見る
dmd.aggregate
struct,union またはclass である集合体を表すDsymbol を定義する。
Authors:
License:
ソース aggregate.d
- enum
ClassKind: ubyte; - ClassKind 列挙型は、AggregateDeclaration AST ノードで使用される。 構造体/クラス/インターフェースの連結型を指定する。 が匿名クラスであるかどうかを指定する。クラスが匿名である場合も Dクラスとみなされる。
d- 集合体はD(efault)クラスである。
cpp- 集合体がC++の構造体/クラス/インターフェイスである。
objc- 集合体はObjective-Cのクラス/インターフェイスである。
c- 集合体はC構造体である。
- @safe const(char)*
ClassKindToChars(ClassKindc); - エラーメッセージのクラスの種類に適切な文字列を与えるParameters:
ClassKind cクラスの種類 Returns:のための0終端文字列c - struct
MangleOverride; - 集約がpargma(mangle, ...)を持つ場合、これは情報を保持する。 を保持する。
- abstract class
AggregateDeclaration: dmd.dsymbol.ScopeDsymbol; - Class-とStructDeclarationの共通の祖先としての抽象集約。
- Type
type; - StorageClass
storage_class; - uint
structsize; - 構造体のサイズ
- uint
alignsize; - 整列のための構造体のサイズ。
- VarDeclarations
fields; - VarDeclarationフィールド
- Dsymbol
deferred; - 任意の遅延semantic2()またはsemantic3()シンボル
- ClassKind
classKind; - D、C++、Objective-C、または匿名構造体/クラス/インターフェイスのいずれかを指定する。
- CPPMANGLE
cppmangle; - 集合体をclass 、または としてマングルするかどうかを指定する。struct この情報はMSVCマングラーによって使用される。 クラスと構造体に対してのみ有効である。TODO: ClassKindと統合する。
- MangleOverride*
pMangleOverride; - もしnullでなければ、pragma(mangle, "...")でオーバーライドされたシンボルを指定する。
- Dsymbol
enclosing; - ネストされている場合は !=null それを直接囲むdsymbolを指す。
- それを囲む関数(入れ子になった構造体やクラス)。
- それを囲むクラス(入れ子になったクラスのみ)
- 囲んでいる集合体がテンプレートの場合は、それを囲んでいる dsymbol。
詳細は AggregateDeclaraton::makeNested を参照。 - VarDeclaration
vthis; - この集約が入れ子になっている場合は 'this' パラメータを返す。
- VarDeclaration
vthis2; - この集約がテンプレートで入れ子になっている場合は 'this' パラメータを返す。
- FuncDeclarations
invs; - 不変量の配列
- FuncDeclaration
inv; - invs の全メンバーを呼び出すマージされた不変量
- Dsymbol
ctor; - CtorDeclarationまたはTemplateDeclarationである。
- CtorDeclaration
defaultCtor; - デフォルトのコンストラクタ - 引数を持つべきではない。 TypeInfo_Class.defaultConstructorに格納されるからである。
- AliasThis
aliasthis; - 未解決のルックアップをaliasthisに転送する。
- DtorDeclarations
userDtors; - ユーザ定義のデストラクタ (~this()) - "ミックスイン"は複数のデストラクタを生成することができる。
- DtorDeclaration
aggrDtor; - userDtorとfieldDtorを呼び出す集約デストラクタ(C++クラスの場合はベースクラスの集約dtorも)。
- DtorDeclaration
dtor; - __xdtor エイリアスとして公開される集約デストラクタ。
- DtorDeclaration
tidtor; - (aggrDtorと同じ。ただし、Windows上の仮想Dtorを持つC++クラスは除く)TypeInfoで使用される集約デストラクタ(extern(D) ABIでなければならない)
- DtorDeclaration
fieldDtor; - (継承されていない)フィールドをデストラクトする関数。
- Expression
getRTInfo; - object.RTInfo(this)によって生成されるGC情報へのポインタ。
- Visibility
visibility; - bool
noDefaultCtor; - デフォルトの構築は行わない
- bool
disableNew; - を使用したアロケーションを許可しないnew
- Sizeok
sizeok; - structsizeに有効なデータが含まれる場合に設定する
- Scope*
newScope(Scope*sc); - scから新しいスコープを作成する。 semantic、semantic2、semantic3はこれを集約メンバーに使用する。
- final size_t
nonHiddenFields(); - Returns:フィールドの総数から隠しフィールドの数を引く。
- final bool
determineSize(const ref Locloc); - すべてのインスタンスフィールドを収集し、インスタンスサイズを決定する。Returns:サイズの決定に失敗した場合はfalseを返す。
- final bool
checkOverlappedFields(); - field[i].overlappedとoverlapUnsafeを計算し、すべての明示的な フィールドのイニシャライザがインスタンス上で一意のメモリ空間を持っていることをチェックする。Returns:エラーが発生したらtrueを返す。
- final bool
fill(const ref Locloc, ref Expressionselements, boolctorinit); - elements[]の残りをfields[]のデフォルトのイニシャライザで埋める。Parameters:
Loc loc場所 Expressions elementsオブジェクトを構築するために与えられる明示的な引数。 bool ctorinit要素がデフォルト初期化に使われる場合はtrueを指定する。 Returns:エラーが発生した場合はfalseを返す。 それ以外の場合はtrueを返し、足りない引数はelements[]にプッシュされる。 - final void
setDeprecated(); - この集約に非推奨フラグを付ける
- final const bool
isNested(); - この集約を非推奨とするフラグを立てる。 包含コンテキスト(包含集合体または関数)へのポインタ。
- final Dsymbol
searchCtor(); - コンストラクタの宣言を探す
- void*
sinit; - イニシャライザシンボル
- int
apply(Dsymbolsymbol, int function(Dsymbol, void*)fp, void*ctx); - このdsymbolまたはこのスコープ付きdsymbolのメンバを反復処理し、次に を呼び出す。
fp見つかったシンボルとparams 。Parameters:Dsymbol symbolfpを呼び出すdsymbolまたはメンバーの親。 int function(Dsymbol, void*) fp関数ポインタで、反復されたシンボルを処理する。 fpがゼロ以外を返した場合、反復は中止される。 void* ctxfpに渡されるコンテキスト・パラメータ。 Returns:fpの戻り値によって反復が中止された場合は非ゼロ、 完了した場合は0となる。 - pure nothrow @safe uint
alignmember(structalign_talignment, uintmemalignsize, uintoffset); - 必要に応じてバイトまたはワードのアライメントを行う。 配列のサイズがまだわからないかもしれないので、サイズを0に揃える。Parameters:
structalign_t alignment構造体アライメントが有効である。 uint memalignsizeフィールドのナチュラルアライメント uint offsetアラインメントされるオフセット Returns:アラインされたオフセット - pure nothrow @safe uint
placeField(ref uintnextoffset, uintmemsize, uintmemalignsize, structalign_talignment, ref uintaggsize, ref uintaggalignsize, boolisunion); - フィールド(mem)を集合体(agg)に入れる。Parameters:
uint nextoffset集合体の前のフィールドの終わりを過ぎたところに配置する。 配置されるフィールドの最後、つまり将来のnextoffsetのすぐ後になるように更新される。 uint memsizeフィールドのサイズ uint memalignsizeフィールドのナチュラルアライメント structalign_t alignmentこのフィールドで有効なアライメント uint aggsize集合体のサイズ(更新) uint aggalignsize集合体のアライメント(更新) bool isunion集合体は共用体である。 Returns:フィールドを置くオフセットのアラインメント
Copyright © 1999-2025 by the D Language Foundation
DEEPL APIにより翻訳、ところどころ修正。
このページの最新版(英語)
このページの原文(英語)
翻訳時のdmdのバージョン: 2.108.0
サイト全体のドキュメントのdmdのバージョン: 2.109.1
最新のdmdのバージョン: 2.111.0 ダウンロード
翻訳日付:
HTML生成日時:
編集者: dokutoku