英語版
このページの英語版を見る
dmd.opover
演算子オーバーロードを処理する。
仕様 演算子オーバーロード
Authors:
License:
ソース opover.d
- @safe bool
isCommutative(EXPop); - バイナリ op のオペランドが演算子のオーバーロードに合うように反転できるかどうかを判定する。 演算子オーバーロードに適合させる。
- Objects*
opToArg(Scope*sc, EXPop); - 演算子をテンプレート化された引数リストに変換するヘルパー関数
- Expression
op_overload(Expressione, Scope*sc, EXP*pop= null); - 演算子オーバーロード。 演算子オーバーロードをチェックする。 を関数呼び出しに置き換える。Parameters:
Expression e演算子を持つ式 Scope* scコンテキスト EXP* popがNULLでない場合、実際にオーバーロードされた演算子に設定される、 に設定される。 e.op.オペランドを逆にして オーバーロードにマッチするReturns:null 演算子オーバーロードでない場合、 そうでない場合は "式"である。 - Expression
build_overload(const ref Locloc, Scope*sc, Expressionethis, Expressionearg, Dsymbold); - この参照と引数から関数呼び出しを構築するユーティリティ。
- Dsymbol
search_function(ScopeDsymbolad, Identifierfuncid); - 集約広告から関数funcidを検索する。
- bool
inferForeachAggregate(Scope*sc, boolisForeach, ref Expressionfeaggr, out Dsymbolsapply); - ForeachAggregateを見て、何がforeachされているかを把握する。Parameters:
Scope* scコンテキスト bool isForeachforeachの場合はtrue、foreach_reverseの場合はfalseを指定する。 Expression feaggrフォアアグリゲート Dsymbol sapplyを関数opApply/opApplyReverse、またはデリゲート、またはNULLに設定する。 オーバーロードの解決は行われない。 Returns:feaggrが意味解析で更新される。 失敗した場合はfalseとなり、エラーとなる。 - bool
inferApplyArgTypes(ForeachStatementfes, Scope*sc, ref Dsymbolsapply); - foreachパラメータの配列と集約型が与えられる、 最適なopApplyオーバーロードを見つける、 パラメータ型がない場合は、集約型から推測する。 パラメータ型が欠けている場合は、集約型から推論を試みる。Parameters:
ForeachStatement fesforeach文 Scope* scコンテキスト Dsymbol sapplynull または opApply または delegate の場合、オーバーロード解決が行われていない。 sapplyでオーバーロード解決を行う。 Returns:エラーの場合はfalse
Copyright © 1999-2025 by the D Language Foundation
DEEPL APIにより翻訳、ところどころ修正。
このページの最新版(英語)
このページの原文(英語)
翻訳時のdmdのバージョン: 2.108.0
サイト全体のドキュメントのdmdのバージョン: 2.109.1
最新のdmdのバージョン: 2.111.0 ダウンロード
翻訳日付:
HTML生成日時:
編集者: dokutoku