動的に型付けされた変数 (別名バリアント)を格納および操作するための適切なオープンソース C ライブラリはありますか? 私は主にアトミック値 (int8、int16、int32、uint、string、blob など) に関心がありますが、JSON スタイルの配列とオブジェクト、およびカスタム オブジェクトもいいでしょう。このようなライブラリが役立つ主なケースは、SQL データベースの操作です。
このようなライブラリの最も明白な機能は、サポートされているすべての値の単一の型です。たとえば、次のようになります。
struct Variant {
enum Type type;
union {
int8_t int8_;
int16_t int16_;
// ...
};
};
その他の機能には、Variant オブジェクトと C 構造体との変換 (バインディング テーブルを使用)、文字列との間の値の変換、SQLite などの既存のデータベース ライブラリとの統合が含まれます。
注: これがC のジェネリック データ型のライブラリの複製であるとは思えません。、「キュー、ツリー、マップ、リスト」を指します。私が話しているのは、SQL データベースでの作業をインタープリター言語での作業とほぼ同じくらいスムーズにすることに重点を置いています。