Commit b8cd789e authored by snuverink_j's avatar snuverink_j
Browse files

Merge branch...

Merge branch '488-clang-compiler-error-unmatched-template-parameter-const-centeringenum' into 'master'

Resolve "clang compiler error: unmatched template parameter `const CenteringEnum*`"

Closes #488

See merge request !302
parents 4868efe8 28fbfdb9
......@@ -465,7 +465,7 @@ void PeriodicFaceBCApply(PeriodicFace<T,D,M,Vert>& pf,
template<class T, unsigned D, class M>
void PeriodicFaceBCApply(PeriodicFace<T,D,M,Edge>& pf,
Field<T,D,M,Edge>& A );
template<class T, unsigned D, class M, const CenteringEnum* CE, unsigned NC>
template<class T, unsigned D, class M, CenteringEnum* CE, unsigned NC>
void PeriodicFaceBCApply(PeriodicFace<T,D,M,
CartesianCentering<CE,D,NC> >& pf,
Field<T,D,M,CartesianCentering<CE,D,NC> >& A );
......@@ -876,7 +876,7 @@ void PeriodicFaceBCApply(PeriodicFace<T,D,M,Edge>& pf,
// Specialization of PeriodicFace::apply() for CartesianCentering centering.
// Rather, indirectly-called specialized global function PeriodicFaceBCApply
//-----------------------------------------------------------------------------
template<class T, unsigned D, class M, const CenteringEnum* CE, unsigned NC>
template<class T, unsigned D, class M, CenteringEnum* CE, unsigned NC>
void PeriodicFaceBCApply(PeriodicFace<T,D,M,
CartesianCentering<CE,D,NC> >& pf,
Field<T,D,M,CartesianCentering<CE,D,NC> >& A )
......@@ -1175,7 +1175,7 @@ CalcParallelPeriodicDomain(const Field<T,D,M,Edge> &A,
// See comments above - vert centering wrong, I think.
template<class T, unsigned D, class M, const CenteringEnum* CE, unsigned NC>
template<class T, unsigned D, class M, CenteringEnum* CE, unsigned NC>
inline void
CalcParallelPeriodicDomain(const Field<T,D,M,CartesianCentering<CE,D,NC> >& A,
const ParallelPeriodicFace<T,D,M,
......@@ -2783,7 +2783,7 @@ void ExtrapolateFaceBCApply(ExtrapolateFace<T,D,M,Vert>& ef,
template<class T, unsigned D, class M>
void ExtrapolateFaceBCApply(ExtrapolateFace<T,D,M,Edge>& ef,
Field<T,D,M,Edge>& A );
template<class T, unsigned D, class M, const CenteringEnum* CE, unsigned NC>
template<class T, unsigned D, class M, CenteringEnum* CE, unsigned NC>
void ExtrapolateFaceBCApply(ExtrapolateFace<T,D,M,
CartesianCentering<CE,D,NC> >& ef,
Field<T,D,M,CartesianCentering<CE,D,NC> >& A );
......@@ -3262,7 +3262,7 @@ void ExtrapolateFaceBCApply(ExtrapolateFace<T,D,M,Edge>& ef,
// Specialization of ExtrapolateFace::apply() for CartesianCentering centering.
// Rather,indirectly-called specialized global function ExtrapolateFaceBCApply:
//-----------------------------------------------------------------------------
template<class T, unsigned D, class M, const CenteringEnum* CE, unsigned NC>
template<class T, unsigned D, class M, CenteringEnum* CE, unsigned NC>
void ExtrapolateFaceBCApply(ExtrapolateFace<T,D,M,
CartesianCentering<CE,D,NC> >& ef,
Field<T,D,M,CartesianCentering<CE,D,NC> >& A )
......@@ -3596,7 +3596,7 @@ void ExtrapolateAndZeroFaceBCApply(ExtrapolateAndZeroFace<T,D,M,Vert>& ef,
template<class T, unsigned D, class M>
void ExtrapolateAndZeroFaceBCApply(ExtrapolateAndZeroFace<T,D,M,Edge>& ef,
Field<T,D,M,Edge>& A );
template<class T, unsigned D, class M, const CenteringEnum* CE, unsigned NC>
template<class T, unsigned D, class M, CenteringEnum* CE, unsigned NC>
void ExtrapolateAndZeroFaceBCApply(ExtrapolateAndZeroFace<T,D,M,
CartesianCentering<CE,D,NC> >& ef,
Field<T,D,M,CartesianCentering<CE,D,NC> >& A );
......@@ -4203,7 +4203,7 @@ void ExtrapolateAndZeroFaceBCApply(ExtrapolateAndZeroFace<T,D,M,Edge>& ef,
// centering. Rather,indirectly-called specialized global function
// ExtrapolateAndZeroFaceBCApply:
//-----------------------------------------------------------------------------
template<class T, unsigned D, class M, const CenteringEnum* CE, unsigned NC>
template<class T, unsigned D, class M, CenteringEnum* CE, unsigned NC>
void ExtrapolateAndZeroFaceBCApply(ExtrapolateAndZeroFace<T,D,M,
CartesianCentering<CE,D,NC> >& ef,
Field<T,D,M,CartesianCentering<CE,D,NC> >& A )
......@@ -4525,7 +4525,7 @@ void FunctionFaceBCApply(FunctionFace<T,D,M,Vert>& ff,
template<class T, unsigned D, class M>
void FunctionFaceBCApply(FunctionFace<T,D,M,Edge>& ff,
Field<T,D,M,Edge>& A );
template<class T, unsigned D, class M, const CenteringEnum* CE, unsigned NC>
template<class T, unsigned D, class M, CenteringEnum* CE, unsigned NC>
void FunctionFaceBCApply(FunctionFace<T,D,M,
CartesianCentering<CE,D,NC> >& ff,
Field<T,D,M,CartesianCentering<CE,D,NC> >& A );
......@@ -4802,7 +4802,7 @@ void FunctionFaceBCApply(FunctionFace<T,D,M,Edge>& ff,
// Specialization of FunctionFace::apply() for CartesianCentering centering.
// Rather, indirectly-called specialized global function FunctionFaceBCApply:
//-----------------------------------------------------------------------------
template<class T, unsigned D, class M, const CenteringEnum* CE, unsigned NC>
template<class T, unsigned D, class M, CenteringEnum* CE, unsigned NC>
void FunctionFaceBCApply(FunctionFace<T,D,M,
CartesianCentering<CE,D,NC> >& ff,
Field<T,D,M,CartesianCentering<CE,D,NC> >& A )
......@@ -4976,7 +4976,7 @@ void ComponentFunctionFaceBCApply(ComponentFunctionFace<T,D,M,Vert>& ff,
template<class T, unsigned D, class M>
void ComponentFunctionFaceBCApply(ComponentFunctionFace<T,D,M,Edge>& ff,
Field<T,D,M,Edge>& A );
template<class T, unsigned D, class M, const CenteringEnum* CE, unsigned NC>
template<class T, unsigned D, class M, CenteringEnum* CE, unsigned NC>
void ComponentFunctionFaceBCApply(ComponentFunctionFace<T,D,M,
CartesianCentering<CE,D,NC> >& ff,
Field<T,D,M,
......@@ -5259,7 +5259,7 @@ void ComponentFunctionFaceBCApply(ComponentFunctionFace<T,D,M,Edge>& ff,
//CartesianCentering centering. Rather, indirectly-called specialized
//global function ComponentFunctionFaceBCApply:
//-----------------------------------------------------------------------------
template<class T, unsigned D, class M, const CenteringEnum* CE, unsigned NC>
template<class T, unsigned D, class M, CenteringEnum* CE, unsigned NC>
void ComponentFunctionFaceBCApply(ComponentFunctionFace<T,D,M,
CartesianCentering<CE,D,NC> >& ff,
Field<T,D,M,CartesianCentering<CE,D,NC> >& A )
......@@ -5650,7 +5650,7 @@ calcEurekaSlabToFill(const Field<T,D,M,Edge>& field, int face,int)
// If that component is cell, the number of guard cells.
//
template<class T, unsigned D, class M, const CenteringEnum* CE, unsigned NC>
template<class T, unsigned D, class M, CenteringEnum* CE, unsigned NC>
static NDIndex<D>
calcEurekaSlabToFill(const Field<T,D,M,CartesianCentering<CE,D,NC> >& field,
int face,
......
......@@ -87,7 +87,7 @@ centeredInitialize(CenteredFieldLayout<Dim,Mesh,Edge> & cfl,
}
//------------------CartesianCentering centering-------------------------------
template<const CenteringEnum* CE, unsigned Dim, class Mesh,
template<CenteringEnum* CE, unsigned Dim, class Mesh,
unsigned NComponents>
inline void
centeredInitialize(CenteredFieldLayout<Dim,Mesh,
......@@ -172,7 +172,7 @@ centeredInitialize(CenteredFieldLayout<Dim,Mesh,Edge> & cfl,
}
//------------------CartesianCentering centering-------------------------------
template<const CenteringEnum* CE, unsigned Dim, class Mesh,
template<CenteringEnum* CE, unsigned Dim, class Mesh,
unsigned NComponents>
inline void
centeredInitialize(CenteredFieldLayout<Dim,Mesh,
......@@ -254,7 +254,7 @@ centeredInitialize(CenteredFieldLayout<Dim,Mesh,Edge> & cfl,
}
//------------------CartesianCentering centering-------------------------------
template<const CenteringEnum* CE, unsigned Dim, class Mesh,
template<CenteringEnum* CE, unsigned Dim, class Mesh,
unsigned NComponents>
inline void
centeredInitialize(CenteredFieldLayout<Dim,Mesh,
......
......@@ -32,14 +32,14 @@
enum CenteringEnum {CELL=0, VERTEX=1, VERT=1};
// Primary class for canned and user-defined cartesian centerings:
template<const CenteringEnum* CE, unsigned Dim, unsigned NComponents=1U>
template<CenteringEnum* CE, unsigned Dim, unsigned NComponents=1U>
class CartesianCentering
{
public:
static void print_Centerings(std::ostream&); // Print function
static std::string CenteringName;
};
template <const CenteringEnum* CE, unsigned Dim, unsigned NComponents>
template <CenteringEnum* CE, unsigned Dim, unsigned NComponents>
void CartesianCentering<CE,Dim,NComponents>::
print_Centerings(std::ostream& out)
{
......
......@@ -26,7 +26,7 @@
// include files
#include "Meshes/CartesianCentering.h"
template <const CenteringEnum* CE, unsigned Dim, unsigned NComponents>
template <CenteringEnum* CE, unsigned Dim, unsigned NComponents>
std::string CartesianCentering<CE,Dim,NComponents>::CenteringName =
"CartesianCentering: no specialized name (yet) for this case";
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment