From d900d8c794bb9d50f528bc8e72ceb594fbc292c8 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Thu, 17 Jan 2019 13:37:26 +0100 Subject: Add named types to Grid2D constructor This allows for readable differentiation between constructor overloads. --- src/refinement/grid2D.h | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'src/refinement/grid2D.h') diff --git a/src/refinement/grid2D.h b/src/refinement/grid2D.h index 9a20544..f58a4ea 100644 --- a/src/refinement/grid2D.h +++ b/src/refinement/grid2D.h @@ -43,6 +43,29 @@ template class DESCRIPTOR> class FineCoupler2D; template class DESCRIPTOR> class CoarseCoupler2D; template class DESCRIPTOR> class RefiningGrid2D; +template +class NamedType { +private: + T _value; + +public: + explicit NamedType(const T& value): + _value(value) {} + explicit NamedType(T&& value): + _value(std::move(value)) {} + + operator T() const + { + return _value; + } +}; + +template +using RelaxationTime = NamedType; + +template +using LatticeVelocity = NamedType; + template class DESCRIPTOR> class Grid2D { protected: @@ -60,7 +83,8 @@ protected: std::vector>> _coarseCouplers; public: - Grid2D(FunctorPtr>&& domainF, int resolution, T tau, int re); + Grid2D(FunctorPtr>&& domainF, int resolution, RelaxationTime tau, int re); + Grid2D(FunctorPtr>&& domainF, int resolution, LatticeVelocity uMax, int re); UnitConverter& getConverter(); CuboidGeometry2D& getCuboidGeometry(); -- cgit v1.2.3