Как сделать многоуровневый map, вложенность которого будет определяться динамически? На момент компиляции не известно какая вложенность будет.
Чем обычный forward decl не подходит?
#include <map>
using namespace std;
template <typename key_t, typename value_t>
struct node_t;
template <typename key_t, typename value_t>
using map_t = map<key_t, node_t<key_t, value_t>>;
template <typename key_t, typename value_t>
struct node_t {
value_t value;
map_t<key_t, value_t> children;
};
int main(void){
map_t<int,float> m;
m.insert({42,{.0f, {}}});
}