Можно ли хранить указатели на объекты в деревьях свойств boost, а затем использовать итератор для извлечения данных?Я пытаюсь сделать что-то вроде:
property_tree::ptree pt;
pt.put<CGUICrateElement*>("1.2.3.4", new MyObject() );
//... more tree construction here...
, а затем рекурсивно перебрать все узлы дерева с чем-то вроде:
property_tree::ptree::iterator iter = treeNode.begin();
property_tree::ptree::iterator iter_end = treeNode.end();
for ( ; iter != iter_end; ++iter )
{
MyObject *obj = lexical_cast<MyObject*>(iter->second.data());
//... etc
Проблема в том, что я получаю ошибку lexical_cast.hpp: 1112: ошибка: нет совпадения для 'operator >>' в 'stream >> output' на лексической линии приведения.
и добавление следующего к MyObject не помогает
friend std::istream& operator>>(std::istream& in, MyObject& obj){ return in; }
Я также пробовал c и динамические приведения безрезультатно.
Возможно ли даже использование указателей внутри дерева?Я собираюсь просто создать свою собственную древовидную структуру в качестве обходного пути, я решил сначала спросить здесь.
Приветствия.