boost::property_treeによく似た構造を探しています。ただし、もう少しタイプセーフにする必要があります。たとえば、次の場合に例外を取得したいと思います。
#include <boost/property_tree/ptree.hpp>
int main()
{
using boost::property_tree::ptree;
ptree pt;
pt.put( "key1", "1.2" ); // insert a string in key1
std::string val1 = pt.get<std::string>( "key1" ); // ok
double val3 = pt.get<double>( "key1" ); // ideally would throw
return 0;
}
[34.4] How can I build a of objects of different types? で説明されているように、基本的にケース #2 の実装を探しています。. 私のコンテナはネストされたケース(コンテナのコンテナ)を許可する必要があります。