Я начал использовать ptree и json parser из boost, чтобы сохранить некоторую быструю информацию. Проблема в том, что мне нужно сохранить только URI, поэтому мне не нужен ключ. Теперь я хочу найти определенное значение и удалить его. Как я могу это сделатьboost ptree изменить массив значений на лету
{
"MyArray":
[
"value1",
"value2"
]
}
Я не могу использовать find()
и итераторы не похоже на работу.
for (it ; it != myptree.end(); ++it)
if ((*it).second.data.compare(strValueImSearching) != 0)
// the previous line is not valid from .data
myptree.erase(it);
Я нашел работу вокруг, но не уверен, что это лучший способ. http://pastebin.com/s2HH2UgS – user3842408
Это на самом деле прояснилось. Я редактировал запутанный заголовок. У вас нет проблемы с запросом массива значений. Кроме того, итераторы работают. Но ни разу не было признано недействительным. См. Мой новый ответ. – sehe