英語版
このページの英語版を見る
dmd.ctfeexpr
ポインタ、スライス、配列連結などを含む記号の基本はピリオドに相当するものです。
Authors:
License:
ソース ctfeexpr.d
- struct
UnionExp
; - pure nothrow @safe int
findFieldIndexByName
(const StructDeclarationsd
, const VarDeclarationv
); - getFieldIndex と同じだが、VarDeclaration との直接一致をチェックする。Returns:インデックスと直接一致するかどうかをチェックする。
- nothrow bool
needToCopyLiteral
(const Expressionexpr
); - 集約リテラル (AA/string/array/struct)
- Expression
resolveSlice
(Expressione
, UnionExp*pue
= null); - eがSliceExpの場合、定数折りたたむ。Parameters:
Expression e
解決する式 UnionExp* pue
nullでない場合、結果の式をここに格納する。 Returns:結果の式 - ArrayLiteralExp
createBlockDuplicatedArrayLiteral
(UnionExp*pue
, const ref Locloc
, Typetype
, Expressionelem
, size_tdim
); - NewExpのヘルパー elem'が'dim'回複製された配列リテラルを作成する。Parameters:
UnionExp* pue
結果を格納する場所 Loc loc
解釈が発生するソース位置 Type type
結果のターゲット型 Expression elem
結果によって所有される配列要素のソース size_t dim
結果の要素番号 Returns:構築された ArrayLiteralExp - StringExp
createBlockDuplicatedStringLiteral
(UnionExp*pue
, const ref Locloc
, Typetype
, dcharvalue
, size_tdim
, ubytesz
); - NewExpのヘルパー "値"を"dim"回複製した文字列リテラルを作成する。
- nothrow bool
isTypeInfo_Class
(const Typetype
); - TypeInfo 操作
- bool
isPointer
(Typet
); - ポインタ操作
- bool
pointToSameMemoryBlock
(Expressionagg1
, Expressionagg2
); - agg1とagg2が同じメモリブロックへのポインタであれば真を返す。
- bool
isCtfeComparable
(Expressione
); - 定数折りたたみ(CTFEをサポートする 非ポインタ式eを>,is,==等で比較できる場合、真を返す。 ctfeCmp、ctfeEqual、ctfeIdentity を使用して、>、is、== などと比較できる場合に真を返す。
- nothrow @safe bool
specificCmp
(EXPop
, intrawCmp
); - cmp OP 0; OPは==, !=, <, >=などである。結果は0または1
- nothrow @safe bool
intUnsignedCmp
(EXPop
, dinteger_tn1
, dinteger_tn2
); - OP は ==, !=, <, >= などである。結果は0または1である。
- nothrow @safe bool
intSignedCmp
(EXPop
, sinteger_tn1
, sinteger_tn2
); - ここでOPは==, !=, <, >=などである。結果は0または1である。
- nothrow @safe bool
realCmp
(EXPop
, real_tr1
, real_tr2
); - ここでOPは==, !=, <, >=などである。結果は0または1である。
- bool
ctfeEqual
(const ref Locloc
, EXPop
, Expressione1
, Expressione2
); - 比較の前にスライスを解決する。0または1を返す。
- bool
ctfeIdentity
(const ref Locloc
, EXPop
, Expressione1
, Expressione2
); - is、!=を評価する。 比較する前にスライスを解決する。0または1を返す。
- bool
ctfeCmp
(const ref Locloc
, EXPop
, Expressione1
, Expressione2
); - を評価する。比較する前にスライスを解決する。0または1を返す。
- void
assignInPlace
(Expressiondest
, Expressionsrc
); - 代入ヘルパー関数
- Expression
changeArrayLiteralLength
(UnionExp*pue
, const ref Locloc
, TypeArrayarrayType
, Expressionoldval
, size_toldlen
, size_tnewlen
); - 配列リテラルoldval(ArrayLiteralExp型またはStringExp型、長さ oldlenである場合、その長さをnewlenに変更する。newlenがoldlenより長い場合、すべての新しい要素がoldlenに設定される、 新しい要素はすべて、その要素型のデフォルトのイニシャライザに設定される。
- bool
isCtfeValueValid
(Expressionnewval
); - CTFE サニティ・チェック
- UnionExp
voidInitLiteral
(Typet
, VarDeclarationvar
); - Void 初期化
Copyright © 1999-2024 by the D Language Foundation
DEEPL APIにより翻訳、ところどころ修正。
このページの最新版(英語)
このページの原文(英語)
翻訳時のdmdのバージョン: 2.108.0
ドキュメントのdmdのバージョン: 2.109.1
翻訳日付 :
HTML生成日時:
編集者: dokutoku