From 3df312d444ce7c9e1a4071f52b2de2f559e3a3a6 Mon Sep 17 00:00:00 2001
From: Wolfgang Bangerth <bangerth@colostate.edu>
Date: Wed, 19 Apr 2017 13:18:26 -0600
Subject: [PATCH] Fix tests by performing an explicit cast.

---
 ...tools_extract_dofs_with_support_contained_within_01.cc | 4 +++-
 ...tools_extract_dofs_with_support_contained_within_02.cc | 4 +++-
 ...tools_extract_dofs_with_support_contained_within_03.cc | 8 ++++++--
 ...tools_extract_dofs_with_support_contained_within_04.cc | 4 +++-
 4 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/tests/dofs/dof_tools_extract_dofs_with_support_contained_within_01.cc b/tests/dofs/dof_tools_extract_dofs_with_support_contained_within_01.cc
index 7fe279dfec..d6109093e3 100644
--- a/tests/dofs/dof_tools_extract_dofs_with_support_contained_within_01.cc
+++ b/tests/dofs/dof_tools_extract_dofs_with_support_contained_within_01.cc
@@ -79,7 +79,9 @@ void test (const unsigned int flag)
   ConstraintMatrix cm;
   DoFTools::make_hanging_node_constraints(dh,cm);
 
-  IndexSet support = DoFTools::extract_dofs_with_support_contained_within(dh, pred_d<dim>, cm);
+  IndexSet support = DoFTools::extract_dofs_with_support_contained_within(dh,
+                     std::function<bool (const typename DoFHandler<dim>::active_cell_iterator &)>(&pred_d<dim>),
+                     cm);
   support.print(deallog);
 
   // print grid and DoFs for visual inspection
diff --git a/tests/dofs/dof_tools_extract_dofs_with_support_contained_within_02.cc b/tests/dofs/dof_tools_extract_dofs_with_support_contained_within_02.cc
index 4e972273ce..c5aab334a4 100644
--- a/tests/dofs/dof_tools_extract_dofs_with_support_contained_within_02.cc
+++ b/tests/dofs/dof_tools_extract_dofs_with_support_contained_within_02.cc
@@ -102,7 +102,9 @@ void test (const unsigned int flag)
   DoFTools::make_hanging_node_constraints(dh,cm);
   cm.close ();
 
-  const IndexSet support = DoFTools::extract_dofs_with_support_contained_within(dh, pred_d<dim>, cm);
+  const IndexSet support = DoFTools::extract_dofs_with_support_contained_within(dh,
+                           std::function<bool (const typename DoFHandler<dim>::active_cell_iterator &)>(&pred_d<dim>),
+                           cm);
   const IndexSet support_local = support & dh.locally_owned_dofs();
 
   deallog << support.n_elements() << std::endl;
diff --git a/tests/dofs/dof_tools_extract_dofs_with_support_contained_within_03.cc b/tests/dofs/dof_tools_extract_dofs_with_support_contained_within_03.cc
index 39c591410d..5a83f05a6b 100644
--- a/tests/dofs/dof_tools_extract_dofs_with_support_contained_within_03.cc
+++ b/tests/dofs/dof_tools_extract_dofs_with_support_contained_within_03.cc
@@ -96,8 +96,12 @@ void test (const bool left = true)
   DoFTools::make_hanging_node_constraints(dh,cm);
 
   IndexSet support = left ?
-                     DoFTools::extract_dofs_with_support_contained_within(dh, pred_left<dim>, cm) :
-                     DoFTools::extract_dofs_with_support_contained_within(dh, pred_right<dim>, cm);
+                     DoFTools::extract_dofs_with_support_contained_within(dh,
+                         std::function<bool (const typename DoFHandler<dim>::active_cell_iterator &)>(&pred_left<dim>),
+                         cm) :
+                     DoFTools::extract_dofs_with_support_contained_within(dh,
+                         std::function<bool (const typename DoFHandler<dim>::active_cell_iterator &)>(&pred_right<dim>),
+                         cm);
   support.print(deallog);
 
   // print grid and DoFs for visual inspection
diff --git a/tests/dofs/dof_tools_extract_dofs_with_support_contained_within_04.cc b/tests/dofs/dof_tools_extract_dofs_with_support_contained_within_04.cc
index d2c7b0000b..6c106e4605 100644
--- a/tests/dofs/dof_tools_extract_dofs_with_support_contained_within_04.cc
+++ b/tests/dofs/dof_tools_extract_dofs_with_support_contained_within_04.cc
@@ -111,7 +111,9 @@ void test ()
   std::vector<types::global_dof_index> local_dof_indices(fe.dofs_per_cell);
 
   // get support on the predicate
-  IndexSet support = DoFTools::extract_dofs_with_support_contained_within(dh, pred_d<dim>, cm);
+  IndexSet support = DoFTools::extract_dofs_with_support_contained_within(dh,
+                     std::function<bool (const typename DoFHandler<dim>::active_cell_iterator &)>(&pred_d<dim>),
+                     cm);
   IndexSet local_support = support & locally_owned_set;
 
   // rhs vectors:
-- 
2.39.5