#include "v2.h" namespace NPyBind { namespace Detail { template <> PyTypeObject* GetParentType(const TPyModuleDefinition&) { return nullptr; } template void UpdateClassNamesInModule(TPyModuleDefinition& M, const TString& name, PyTypeObject* pythonType) { if (!InitEnabled) { return; } M.ClassName2Type[name] = pythonType; } template void UpdateGetContextInModule(TPyModuleDefinition& M, const TString& name, IGetContextBase* base) { if (!InitEnabled) { return; } M.Class2ContextGetter[name] = base; } TPyModuleRegistry::TPyModuleRegistry() { #if PY_MAJOR_VERSION >= 3 NPrivate::AddFinalizationCallBack([this]() { if (UnnamedModule) { UnnamedModule.Clear(); } Name2Def.clear(); }); #endif } template void UpdateClassNamesInModule(TPyModuleDefinition& M, const TString& name, PyTypeObject* pythonType); template void UpdateClassNamesInModule(TPyModuleDefinition& M, const TString& name, PyTypeObject* pythonType); template void UpdateGetContextInModule(TPyModuleDefinition& M, const TString& name, IGetContextBase* pythonType); template void UpdateGetContextInModule(TPyModuleDefinition& M, const TString& name, IGetContextBase* pythonType); }//Detail }//NPyBind