本文整理汇总了C++中XmlDeserializer::freePointer方法的典型用法代码示例。如果您正苦于以下问题:C++ XmlDeserializer::freePointer方法的具体用法?C++ XmlDeserializer::freePointer怎么用?C++ XmlDeserializer::freePointer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XmlDeserializer
的用法示例。
在下文中一共展示了XmlDeserializer::freePointer方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: deserialize
void VolumeCollection::deserialize(XmlDeserializer& s) {
std::vector<VolumeHandle*> handleList;
s.deserialize("VolumeHandles", handleList, "VolumeHandle");
// add volume handles of loaded volumes...
std::vector<VolumeHandle*> deleteList;
for (std::vector<VolumeHandle*>::iterator it = handleList.begin(); it != handleList.end(); ++it)
if ((*it) && static_cast<VolumeHandle*>((*it))->getNumRepresentations() > 0)
add(*it);
else
deleteList.push_back(*it);
// remove volume handles that were not able to load their volume...
for (std::vector<VolumeHandle*>::iterator it = deleteList.begin(); it != deleteList.end(); ++it) {
//remove(*it);
s.freePointer(*it);
delete *it;
}
}
示例2: deserialize
void VolumeCollection::deserialize(XmlDeserializer& s) {
std::vector<VolumeHandle*> handleList;
s.deserialize("VolumeHandles", handleList, "VolumeHandle");
// add volume handles of loaded volumes...
std::vector<VolumeHandle*> deleteList;
for (std::vector<VolumeHandle*>::iterator it = handleList.begin(); it != handleList.end(); ++it)
if ((*it) && (*it)->getVolume())
add(*it);
else
deleteList.push_back(*it);
// remove volume handles that was not able to load its volume...
for (std::vector<VolumeHandle*>::iterator it = deleteList.begin(); it != deleteList.end(); ++it) {
//remove(*it);
s.freePointer(*it);
delete *it;
}
}