static_mapのヘルパー関数、make_static_mapを書いた(3)
static_mapのヘルパー関数、make_static_mapを書いた(2) - myoukakuのブログ の続き
テンプレートパラメータパックをtupleに受けるのでなく、直接要素を取り出せば行けるかと思い、 VSでも動くパラメーターパックヘルパーを作った - TXT.TXTを参考にやってみました。
結果的に、正しく動作することはしましたが、やはり要素数が多くなると*1Internal Compiler Error(fatal error C1060: ヒープの領域を使い果たしました。)となってしまいました。
少なくとも要素数は200以上必要だったのと、エラーにならなくてもコンパイル時間が長くなってしまったので、この方法は断念し、最初に書いたstd::pairを渡す方法で行くことにしました。
(common_typeやtuple_elementを使うようにしたりと少し修正してあります) bksge/make_static_map.hpp at develop · myoukaku/bksge · GitHub
色々と回り道をした結果、最初に戻ってしまった感じですが、そのなかでVariadic Templatesに関連して、index_tuple技法など様々な知見を得ることができました。 今後に活かしていきたいです。
*1:120を超えたあたり