diff --git a/Applications/ApplicationsLib/ProjectData.cpp b/Applications/ApplicationsLib/ProjectData.cpp index 08fe824de30f6a6d85184d8a4009107582da6c1e..4e6d2d880ff4a64b49f0bcaaa426eb225a3c5006 100644 --- a/Applications/ApplicationsLib/ProjectData.cpp +++ b/Applications/ApplicationsLib/ProjectData.cpp @@ -24,8 +24,6 @@ #include "BaseLib/Algorithm.h" #include "BaseLib/FileTools.h" -// include due to the forward declaration in ProcessVariable.h -#include "BaseLib/TimeInterval.h" #include "GeoLib/GEOObjects.h" #include "MathLib/Curve/CreatePiecewiseLinearCurve.h" diff --git a/Applications/CLI/ogs.cpp b/Applications/CLI/ogs.cpp index 5d2e729dafa17acebf24da0f63d1b242d61edfbe..76fdc683bbb5082705f5b3ed225f8c9f404b2a3c 100644 --- a/Applications/CLI/ogs.cpp +++ b/Applications/CLI/ogs.cpp @@ -33,16 +33,12 @@ #include "BaseLib/FileTools.h" #include "BaseLib/RunTime.h" #include "BaseLib/TemplateLogogFormatterSuppressedGCC.h" - // include due to the forward declaration in ProcessVariable.h -#include "BaseLib/TimeInterval.h" #include "Applications/ApplicationsLib/LinearSolverLibrarySetup.h" #include "Applications/ApplicationsLib/LogogSetup.h" #include "Applications/ApplicationsLib/ProjectData.h" #include "Applications/ApplicationsLib/TestDefinition.h" #include "Applications/InSituLib/Adaptor.h" - // include due to the forward declaration in ProcessVariable.h -#include "ProcessLib/DeactivatedSubdomain.h" #include "ProcessLib/UncoupledProcessesTimeLoop.h" #include "NumLib/NumericsConfig.h" diff --git a/ProcessLib/DeactivatedSubdomain.cpp b/ProcessLib/DeactivatedSubdomain.cpp index da8c9eeef3cc53f52eceba7d2a25e2baac5a2ac8..30ee2680aab795f2b3c10bf850caccecc5e2af75 100644 --- a/ProcessLib/DeactivatedSubdomain.cpp +++ b/ProcessLib/DeactivatedSubdomain.cpp @@ -16,7 +16,6 @@ #include "BaseLib/ConfigTree.h" #include "BaseLib/Error.h" -#include "BaseLib/TimeInterval.h" #include "MeshLib/MeshEditing/DuplicateMeshComponents.h" #include "MeshLib/Mesh.h" diff --git a/ProcessLib/DeactivatedSubdomain.h b/ProcessLib/DeactivatedSubdomain.h index ca9bc013cf8728f94f55cd2c1e652ae7664b86bb..9f53af7847c34b2ec6203349e43671a6bb6f93eb 100644 --- a/ProcessLib/DeactivatedSubdomain.h +++ b/ProcessLib/DeactivatedSubdomain.h @@ -17,10 +17,14 @@ #include <string> #include <vector> +// TimeInterval cannot be forwardly declared because that +// std::unique_ptr<BaseLib::TimeInterval> type member requires its full +// definition (see https://stackoverflow.com/a/6089065). +#include "BaseLib/TimeInterval.h" + namespace BaseLib { class ConfigTree; -class TimeInterval; } // namespace BaseLib namespace MeshLib @@ -51,7 +55,7 @@ struct DeactivatedSubdomain bool includesTimeOf(double const t) const; - std::unique_ptr<BaseLib::TimeInterval const> time_interval; + std::unique_ptr<BaseLib::TimeInterval const> const time_interval; /// The material IDs of the deactivated the subdomains std::vector<int> const materialIDs; diff --git a/ProcessLib/ProcessVariable.cpp b/ProcessLib/ProcessVariable.cpp index 6785d6af58f67373ae4f4412f7c309dc7296b794..6771982aeeb1ae2315cb2b3fbb87f14a1b0442bd 100644 --- a/ProcessLib/ProcessVariable.cpp +++ b/ProcessLib/ProcessVariable.cpp @@ -26,7 +26,6 @@ #include "ProcessLib/BoundaryCondition/BoundaryCondition.h" #include "ProcessLib/BoundaryCondition/CreateBoundaryCondition.h" #include "ProcessLib/BoundaryCondition/DirichletBoundaryConditionWithinTimeInterval.h" -#include "ProcessLib/DeactivatedSubdomain.h" #include "ProcessLib/SourceTerms/CreateSourceTerm.h" #include "ProcessLib/SourceTerms/SourceTerm.h" #include "ProcessLib/Utils/ProcessUtils.h" @@ -119,9 +118,9 @@ ProcessVariable::ProcessVariable( _shapefunction_order); // Boundary conditions - //! \ogs_file_param{prj__process_variables__process_variable__boundary_conditions} if (auto bcs_config = - config.getConfigSubtreeOptional("boundary_conditions")) + //! \ogs_file_param{prj__process_variables__process_variable__boundary_conditions} + config.getConfigSubtreeOptional("boundary_conditions")) { for ( auto bc_config : diff --git a/ProcessLib/ProcessVariable.h b/ProcessLib/ProcessVariable.h index 0474db4f53de38ad81727f18d174703e1c44b1a8..890db1c2770f92a2790aad5e9423f282e3371072 100644 --- a/ProcessLib/ProcessVariable.h +++ b/ProcessLib/ProcessVariable.h @@ -15,6 +15,11 @@ #include "ProcessLib/Parameter/Parameter.h" #include "ProcessLib/SourceTerms/SourceTermConfig.h" +// DeactivatedSubdomain cannot be forwardly declared because that +// std::unique_ptr<DeactivatedSubdomain> type member requires its full +// definition (see https://stackoverflow.com/a/6089065). +#include "ProcessLib/DeactivatedSubdomain.h" + namespace MeshLib { class Mesh; @@ -35,8 +40,6 @@ class Process; namespace ProcessLib { -struct DeactivatedSubdomain; - /// A named process variable. Its properties includes the mesh, and the initial /// and boundary conditions as well as the source terms. class ProcessVariable