なでしこ to C++
何かなでしこソースに、C++化するにはどうとかこうとか書いていたような気がするので、勝手にC++移植を実行
……とりあえず、プラグインSDKだけですが
で、いきなり壁にぶち当たりました
なでしこの基本型PHiValue(THiValue)、これの定義は以下の通り
PHiValue = ^THiValue;
THiValue = packed record
VType : THiVType; // 値の型
Size : Integer; // 値の大きさ
VarID : DWORD; // 変数名
RefCount : Integer; // 参照カウント for GC
Setter : PHiValue; // Setter
Getter : PHiValue; // Getter
ReadOnly : Byte; // ReadOnly = 1
Registered : Byte; // 解放してよい値か?(これが1なら勝手に解放してはならない)
Flag1 : Byte;
Flag2 : Byte;
case Byte of
0:( int : Longint ); // varInt
1:( ptr : Pointer ); // other...
2:( ptr_s : PChar ); // varStr
end;
……レコードの可変部ってどんな記述をすれば良いんでしょうか?
共用体を使用?
でも、それじゃあアクセスするのに二段階のアクセス演算子が必要になりますよねぇ
むう、調べないと……
追記:
む、何か共用体で出来た感じ?