void Array::Append(Node* node) { if (node) { Node* clone = node->Clone(); UpdateNodeParent(clone); plist_array_append_item(_node, clone->GetPlist()); _array.push_back(clone); } }
void Array::Insert(Node* node, unsigned int pos) { if (node) { Node* clone = node->Clone(); UpdateNodeParent(clone); plist_array_insert_item(_node, clone->GetPlist(), pos); std::vector<Node*>::iterator it = _array.begin(); it += pos; _array.insert(it, clone); } }
Dictionary::iterator Dictionary::Insert(const std::string& key, Node* node) { if (node) { Node* clone = node->Clone(); UpdateNodeParent(clone); plist_dict_insert_item(_node, key.c_str(), clone->GetPlist()); delete _map[key]; _map[key] = clone; return _map.find(key); } return _map.end(); }