From 033faa1c93f6acbf3e117d9cd223ae2f72c37aff Mon Sep 17 00:00:00 2001 From: "Dmitry Yu. Naumov" <github@naumov.de> Date: Wed, 2 Sep 2015 09:07:29 +0000 Subject: [PATCH] [PL] Add explicit template instantiation for GWF. Add a fwd include file, and a explicit template instantiation definition in own compilation unit. This decouples ogs.cpp from GWF process. --- Applications/ApplicationsLib/ProjectData.h | 1 + ProcessLib/GroundwaterFlowProcess-fwd.h | 18 ++++++++++++++++++ ProcessLib/GroundwaterFlowProcess.cpp | 18 ++++++++++++++++++ ProcessLib/Process.h | 5 ----- 4 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 ProcessLib/GroundwaterFlowProcess-fwd.h create mode 100644 ProcessLib/GroundwaterFlowProcess.cpp diff --git a/Applications/ApplicationsLib/ProjectData.h b/Applications/ApplicationsLib/ProjectData.h index 1ed2e408234..0d5800d3177 100644 --- a/Applications/ApplicationsLib/ProjectData.h +++ b/Applications/ApplicationsLib/ProjectData.h @@ -25,6 +25,7 @@ #include "ProcessLib/ProcessVariable.h" #include "ProcessLib/Process.h" #include "ProcessLib/Parameter.h" +#include "ProcessLib/GroundwaterFlowProcess-fwd.h" namespace MeshLib { class Mesh; diff --git a/ProcessLib/GroundwaterFlowProcess-fwd.h b/ProcessLib/GroundwaterFlowProcess-fwd.h new file mode 100644 index 00000000000..9c7ece8684c --- /dev/null +++ b/ProcessLib/GroundwaterFlowProcess-fwd.h @@ -0,0 +1,18 @@ +/** + * \copyright + * Copyright (c) 2012-2015, OpenGeoSys Community (http://www.opengeosys.org) + * Distributed under a Modified BSD License. + * See accompanying file LICENSE.txt or + * http://www.opengeosys.org/project/license + * + */ + +#ifndef PROCESS_LIB_GROUNDWATERFLOWPROCESS_FWD_H_ +#define PROCESS_LIB_GROUNDWATERFLOWPROCESS_FWD_H_ + +#include "GroundwaterFlowProcess.h" +#include "NumericsConfig.h" + +extern template class ProcessLib::GroundwaterFlowProcess<GlobalSetupType>; + +#endif // PROCESS_LIB_GROUNDWATERFLOWPROCESS_FWD_H_ diff --git a/ProcessLib/GroundwaterFlowProcess.cpp b/ProcessLib/GroundwaterFlowProcess.cpp new file mode 100644 index 00000000000..99a6c6a7604 --- /dev/null +++ b/ProcessLib/GroundwaterFlowProcess.cpp @@ -0,0 +1,18 @@ +/** + * \copyright + * Copyright (c) 2012-2015, OpenGeoSys Community (http://www.opengeosys.org) + * Distributed under a Modified BSD License. + * See accompanying file LICENSE.txt or + * http://www.opengeosys.org/project/license + * + */ + +#include "GroundwaterFlowProcess-fwd.h" +#include "GroundwaterFlowProcess.h" + +namespace ProcessLib +{ + +template class GroundwaterFlowProcess<GlobalSetupType>; + +} // namespace ProcessLib diff --git a/ProcessLib/Process.h b/ProcessLib/Process.h index 4299fc4ec21..5d91b607ebe 100644 --- a/ProcessLib/Process.h +++ b/ProcessLib/Process.h @@ -42,9 +42,4 @@ protected: } // namespace ProcessLib -// -// Include all known processes here. -// -#include "GroundwaterFlowProcess.h" - #endif // PROCESS_LIB_PROCESS_H_ -- GitLab