関数ポインタ型 API
プロトコル 1 のカスタム型は、vsql::make_type<> テンプレートの代わりに、明示的な関数ポインタを使用して登録されます。関数シグネチャは、プロトコル 3 の同等物とは異なり、Arg および Result オブジェクトではなく、生のポインタと長さを引数として受け取ります。
関数シグネチャ
登録
vsql::make_type<kMyTypeName>() (コンパイル時の文字列 NTTP を使用) が推奨される形式です。make_type(MYTYPE) (テンプレートパラメータなし) はプロトコル 1 の形式であり、0.0.5 以降はサポートが終了します。
生の ABI スタイル (関数)
プロトコル 1 の VDF 実装では、型付きラッパーを使用する代わりに、生の C 構造体を直接渡すことができます。このスタイルは 0.0.5 以降は廃止されます。すべての新しいコードでは、型付きラッパー を使用してください。プロトコル 1 における集計関数の登録
集計関数の場合、.clear<>() および .accumulate<>() は生の ABI 関数ポインタシグネチャを受け入れます。.prerun<>() および .postrun<>() は受け入れません。ビルダーは、プロトコル 1 の拡張機能であっても、型付きシグネチャ (void(PrerunArgs, PrerunResult) および void(PostrunArgs)) を必要とします。すべての新しいコードでは、型付き集計関数のアプローチ を使用してください。

