ラムダのキャプチャされた変数の型/値を取得する方法があるかどうか疑問に思っていましたか? - 使用シナリオは似ています。
int a = 5;
auto lamb = [a](){ return a; };
static_assert(std::is_same<typename get_capture_type<0>(lamb)::type, int>::value, "");
assert(get_capture_value<0>(lamb) == 5)
注:get_capture_*<N>(lambda)
の場合、明らかにコンパイラ エラーが発生するはずN > #captured_variables
です。
私が必要としているのは、実際には、可能であれば何らかの方法でキャプチャにアクセスする方法です。つまり、テンプレートのメタプログラミングを自分で行うことができます。