ストラクチャードバインディングの記事をここではスキップしましたが、http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0144r0.pdfという構文を使用していますが、構文がどのタイプの構造体にバインドできるかを知ることはできませんでした。私の最高の推測は、構造体は集約型でなければならないということです。または、公のデータメンバーだけのもの。ストラクチャードバインディングはどんなタイプの構造体でも使用できます
これには何か注意が必要ですか?あなたがあなたのタイプのためにstd::tuple_size
、std::tuple_element
とget
を専門にしたくない場合は
ペアとタプルは、良い例、マップノードタイプのように見えます。 –
@KerrekSB :)ええ、私はちょうど私が自分の構造体を持っている場合、彼らがバインドすることができますどのような構造体の種類の詳細についてもう少し理解するために探していた。 – Curious
確かに。パブリックメンバーに依存したくない場合は、例えば、あなたの型に 'std :: get'と' std :: tuple_size'を特化することができます。 –