//---------------------------------------------------------------------------
#include <base/quadrature.h>
+#include <base/template_constraints.h>
#include <fe/fe_dgq.h>
#include <fe/fe_tools.h>
// are thus not very interesting to the outside world
namespace
{
- // auxiliary type to allow for some
- // kind of explicit template
- // specialization of the following
- // functions
- template <int dim> struct int2type {};
-
-
// given an integer N, compute its
// integer square root (if it
// exists, otherwise give up)
inline Point<1>
generate_unit_point (const unsigned int i,
const unsigned int N,
- const int2type<1> )
+ const ::internal::int2type<1> )
{
Assert (i<N, ExcInternalError());
if (N==1)
inline Point<2>
generate_unit_point (const unsigned int i,
const unsigned int N,
- const int2type<2> )
+ const ::internal::int2type<2> )
{
Assert (i<N, ExcInternalError());
inline Point<3>
generate_unit_point (const unsigned int i,
const unsigned int N,
- const int2type<3> )
+ const ::internal::int2type<3> )
{
Assert (i<N, ExcInternalError());
if (N==1)
// cell and evaluate the
// shape functions there
const Point<dim> p = generate_unit_point (j, this->dofs_per_cell,
- int2type<dim>());
+ ::internal::int2type<dim>());
for (unsigned int i=0; i<this->dofs_per_cell; ++i)
cell_interpolation(j,i)
= this->poly_space.compute_value (i, p);
#include <base/quadrature.h>
#include <base/qprojector.h>
+#include <base/template_constraints.h>
#include <fe/fe_q.h>
#include <fe/fe_tools.h>
{
namespace
{
- // auxiliary type to allow for some
- // kind of explicit template
- // specialization of the following
- // functions
- template <int dim> struct int2type {};
-
// given a permutation array,
// compute and return the inverse
// permutation
Point<1>
generate_unit_point (const unsigned int i,
const unsigned int N,
- const int2type<1> )
+ const ::internal::int2type<1> )
{
Assert (i<N, ExcInternalError());
const double h = 1./(N-1);
Point<2>
generate_unit_point (const unsigned int i,
const unsigned int N,
- const int2type<2> )
+ const ::internal::int2type<2> )
{
Assert (i<N, ExcInternalError());
Assert (N>=4, ExcInternalError());
Point<3>
generate_unit_point (const unsigned int i,
const unsigned int N,
- const int2type<3> )
+ const ::internal::int2type<3> )
{
Assert (i<N, ExcInternalError());
Assert (N>=8, ExcInternalError());
// shape functions there
const Point<dim>
p = FE_Q_Helper::generate_unit_point (index_map[j], this->dofs_per_cell,
- FE_Q_Helper::int2type<dim>());
+ ::internal::int2type<dim>());
for (unsigned int i=0; i<this->dofs_per_cell; ++i)
cell_interpolation(j,i) = this->poly_space.compute_value (i, p);
// functions there
const Point<dim> p_subcell
= FE_Q_Helper::generate_unit_point (index_map[j], this->dofs_per_cell,
- FE_Q_Helper::int2type<dim>());
+ ::internal::int2type<dim>());
const Point<dim> p_cell =
GeometryInfo<dim>::child_to_cell_coordinates (p_subcell, child);
{
const Point<dim> p_cell
= FE_Q_Helper::generate_unit_point (i, this->dofs_per_cell,
- FE_Q_Helper::int2type<dim>());
+ ::internal::int2type<dim>());
unsigned int mother_dof = 0;
for (; mother_dof<this->dofs_per_cell; ++mother_dof)
{