本文整理汇总了C++中Reference::Finalize方法的典型用法代码示例。如果您正苦于以下问题:C++ Reference::Finalize方法的具体用法?C++ Reference::Finalize怎么用?C++ Reference::Finalize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Reference
的用法示例。
在下文中一共展示了Reference::Finalize方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DestroyAllInstances
void GameFactory::DestroyAllInstances()
{
cs.StartSession();
for (const auto& instance : instances)
{
if (instance.second & ALL_CONTAINERS)
reinterpret_cast<Container*>(instance.first.get())->container.clear();
#ifdef VAULTMP_DEBUG
if (debug)
debug->PrintFormat("Reference %08X with base %08X and NetworkID %llu (type: %s) to be destructed (%08X)", true, instance.first->GetReference(), instance.first->GetBase(), instance.first->GetNetworkID(), typeid(*(instance.first)).name(), instance.first.get());
#endif
Reference* reference = reinterpret_cast<Reference*>(instance.first->StartSession());
reference->Finalize();
}
instances.clear();
typecount.clear();
cs.EndSession();
// Cleanup classes
Object::param_Axis = RawParameter(vector<string>());
Actor::param_ActorValues = RawParameter(vector<string>());
Lockable::Reset();
}
示例2: DestroyAllInstances
void GameFactory::DestroyAllInstances()
{
cs.StartSession();
for (pair<Reference* const, unsigned char>& instance : instances)
{
if (instance.second & ALL_CONTAINERS)
reinterpret_cast<Container*>(instance.first)->container.clear();
#ifdef VAULTMP_DEBUG
if (debug)
debug->PrintFormat("Reference %08X with base %08X and NetworkID %lld (type: %s) to be destructed (%08X)", true, instance.first->GetReference(), instance.first->GetBase(), instance.first->GetNetworkID(), typeid(*(instance.first)).name(), instance.first);
#endif
Reference* reference = reinterpret_cast<Reference*>(instance.first->StartSession());
if (reference)
{
reference->Finalize();
delete reference; // this throws
}
}
instances.clear();
typecount.clear();
cs.EndSession();
// Cleanup classes
Object::param_Axis = RawParameter(vector<string>());
Container::Items = NULL;
#ifdef VAULTSERVER
delete Actor::dbActors;
delete Actor::dbCreatures;
#endif
Actor::param_ActorValues = RawParameter(vector<string>());
Lockable::Reset();
}