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