#include "group_factory_impl.hpp" #include "node_type.hpp" namespace xios { # define macro(U) \ template void CGroupFactory::AddGroup(shared_ptr pgroup,shared_ptr cgroup); \ template void CGroupFactory::AddChild(shared_ptr group, shared_ptr child); \ template shared_ptr CGroupFactory::GetGroup(shared_ptr group, const StdString & id); \ template shared_ptr CGroupFactory::GetChild(shared_ptr group, const StdString & id); \ template int CGroupFactory::GetGroupNum(shared_ptr group); \ template int CGroupFactory::GetGroupIdNum(shared_ptr group); \ template int CGroupFactory::GetChildNum(shared_ptr group); \ template int CGroupFactory::GetChildIdNum(boost::shared_ptr group); \ template bool CGroupFactory::HasGroup(shared_ptr group, const StdString & id); \ template bool CGroupFactory::HasChild(boost::shared_ptr group, const StdString & id); \ template shared_ptr CGroupFactory::CreateGroup(shared_ptr group, const StdString & id ); \ template shared_ptr CGroupFactory::CreateChild(shared_ptr group, const StdString & id); 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) }