#include "object_factory_impl.hpp" #include "node_type.hpp" namespace xios { #define macro(U) \ template shared_ptr CObjectFactory::GetObject(const StdString& id); \ template shared_ptr CObjectFactory::GetObject(const StdString& context,const StdString& id); \ template shared_ptr CObjectFactory::GetObject(const U* const object); \ template int CObjectFactory::GetObjectNum(void); \ template int CObjectFactory::GetObjectIdNum(void); \ template const std::vector >& CObjectFactory::GetObjectVector(const StdString& context ); \ template bool CObjectFactory::HasObject(const StdString& id); \ template bool CObjectFactory::HasObject(const StdString& context,const StdString& id); \ template boost::shared_ptr CObjectFactory::CreateObject(const StdString& id ); \ template const StdString& CObjectFactory::GetUIdBase(void); \ template StdString CObjectFactory::GenUId(void); \ template bool CObjectFactory::IsGenUId(const StdString& id); \ macro(CField) macro(CFile) macro(CGrid) macro(CAxis) macro(CDomain) macro(CContext) macro(CCalendarWrapper) macro(CVariable) macro(CInverseAxis) macro(CZoomAxis) macro(CInterpolateAxis) macro(CZoomDomain) macro(CInterpolateDomain) macro(CGenerateRectilinearDomain) macro(CScalar) macro(CReduceAxisToScalar) macro(CReduceDomainToAxis) macro(CExtractDomainToAxis) macro(CComputeConnectivityDomain) macro(CFieldGroup) macro(CFileGroup) macro(CGridGroup) macro(CAxisGroup) macro(CDomainGroup) macro(CContextGroup) macro(CVariableGroup) macro(CInverseAxisGroup) macro(CZoomAxisGroup) macro(CInterpolateAxisGroup) macro(CZoomDomainGroup) macro(CInterpolateDomainGroup) macro(CGenerateRectilinearDomainGroup) macro(CScalarGroup) macro(CReduceAxisToScalarGroup) macro(CReduceDomainToAxisGroup) macro(CExtractDomainToAxisGroup) macro(CComputeConnectivityDomainGroup) }