C/C++のデータ構造(ネストされた構造体、ポインタの配列、その他のさまざまな基本データ型)に一般的な方法でアクセスするためのリフレクションフレームワークはありますか?C++でのCデータ構造への一般的なアクセスは、何らかの形で反映されますか?
そうでない場合は、これに最も効果的なヒントがありますか?
数十から数百の異なる構造を持つa large MS Windows C APIのテストソフトウェアを書いています。その中には、いくつかのレベルまでの構造体へのポインタのネストされた配列が含まれています。
テストの場合、文字列として与えられたテストの記述に従って、データ構造に値を設定し、後でチェックする必要があります。現在、これはむしろフラットで退屈な(一貫性がなく、エラーを起こしやすい)方法でプログラムされています。私はこれを変更したいと思います。
私はいくつかの種類のパスを介してデータ構造の値に一般的にアクセスできるようにするために使用されるすべてのデータ型構造のテンプレートを考えています。
私はこれを完全に自動化する必要はありません。構造体の特定のフィールドごとにいくつかの作業(たとえば、1行または2行のコード)を行うことは問題ありません。
あなたが意味することは本当に明確ではありません。 Cデータ構造体のメンバにアクセスする一般的な方法は、ドットまたは矢印演算子を使用する方法です。 ( 'fooStruct.someMember')' getMember(typeof(FooStruct)、someMember ")'のようなリフレクションが欲しいということですか? – jalf
"テストの説明"の例を挙げることができますか? –
はい、反射すると、タグが更新されました。私は、必要な構造単位の作業のいくつかを行う準備もしています。 – starblue