}
+for (scalar: COMPLEX_SCALARS; SP : SPARSITY_PATTERNS; deal_II_dimension : DIMENSIONS)
+ {
+ template void
+ DoFTools::make_boundary_sparsity_pattern<DoFHandler<deal_II_dimension>,SP,scalar>
+ (const DoFHandler<deal_II_dimension>& dof,
+ const std::map<types::boundary_id, const Function<deal_II_dimension,scalar>*> &boundary_ids,
+ const std::vector<types::global_dof_index> &dof_to_boundary_mapping,
+ SP &sparsity);
+
+ template void
+ DoFTools::make_boundary_sparsity_pattern<hp::DoFHandler<deal_II_dimension>,SP,scalar>
+ (const hp::DoFHandler<deal_II_dimension>& dof,
+ const std::map<types::boundary_id, const Function<deal_II_dimension,scalar>*> &boundary_ids,
+ const std::vector<types::global_dof_index> &dof_to_boundary_mapping,
+ SP &sparsity);
+
+#if deal_II_dimension < 3
+ template void
+ DoFTools::make_boundary_sparsity_pattern<hp::DoFHandler<deal_II_dimension,deal_II_dimension+1>,SP,scalar>
+ (const hp::DoFHandler<deal_II_dimension,deal_II_dimension+1>& dof,
+ const std::map<types::boundary_id, const Function<deal_II_dimension+1,scalar>*> &boundary_ids,
+ const std::vector<types::global_dof_index> &dof_to_boundary_mapping,
+ SP &sparsity);
+
+ template void
+ DoFTools::make_boundary_sparsity_pattern<DoFHandler<deal_II_dimension,deal_II_dimension+1>,SP,scalar>
+ (const DoFHandler<deal_II_dimension,deal_II_dimension+1>& dof,
+ const std::map<types::boundary_id, const Function<deal_II_dimension+1,scalar>*> &boundary_ids,
+ const std::vector<types::global_dof_index> &dof_to_boundary_mapping,
+ SP &sparsity);
+
+ //template void
+ //DoFTools::make_boundary_sparsity_pattern<hp::DoFHandler<deal_II_dimension,deal_II_dimension+1>,SP,scalar>
+ //(const hp::DoFHandler<deal_II_dimension,deal_II_dimension+1>& dof,
+ // const std::map<types::boundary_id, const Function<deal_II_dimension+1,scalar>*> &boundary_ids,
+ // const std::vector<types::global_dof_index> &dof_to_boundary_mapping,
+ // SP &sparsity);
+
+#endif
+
+ }
+
for (SP : SPARSITY_PATTERNS; deal_II_dimension : DIMENSIONS)
{
template void