From e4e6e9178e874429d72cb44bd434902433a3f9d8 Mon Sep 17 00:00:00 2001
From: David Wells <drwells@email.unc.edu>
Date: Thu, 21 May 2020 18:26:25 -0400
Subject: [PATCH] Remove C++11 compatibility headers.

---
 doc/news/changes/minor/20200521DavidWells     |  3 ++
 include/deal.II/base/std_cxx11/array.h        | 33 -------------
 include/deal.II/base/std_cxx11/bind.h         | 47 -------------------
 .../base/std_cxx11/condition_variable.h       | 34 --------------
 include/deal.II/base/std_cxx11/function.h     | 32 -------------
 include/deal.II/base/std_cxx11/iterator.h     | 34 --------------
 include/deal.II/base/std_cxx11/mutex.h        | 32 -------------
 include/deal.II/base/std_cxx11/shared_ptr.h   | 36 --------------
 include/deal.II/base/std_cxx11/thread.h       | 32 -------------
 include/deal.II/base/std_cxx11/tuple.h        | 36 --------------
 include/deal.II/base/std_cxx11/type_traits.h  | 40 ----------------
 include/deal.II/base/std_cxx11/unique_ptr.h   | 34 --------------
 12 files changed, 3 insertions(+), 390 deletions(-)
 create mode 100644 doc/news/changes/minor/20200521DavidWells
 delete mode 100644 include/deal.II/base/std_cxx11/array.h
 delete mode 100644 include/deal.II/base/std_cxx11/bind.h
 delete mode 100644 include/deal.II/base/std_cxx11/condition_variable.h
 delete mode 100644 include/deal.II/base/std_cxx11/function.h
 delete mode 100644 include/deal.II/base/std_cxx11/iterator.h
 delete mode 100644 include/deal.II/base/std_cxx11/mutex.h
 delete mode 100644 include/deal.II/base/std_cxx11/shared_ptr.h
 delete mode 100644 include/deal.II/base/std_cxx11/thread.h
 delete mode 100644 include/deal.II/base/std_cxx11/tuple.h
 delete mode 100644 include/deal.II/base/std_cxx11/type_traits.h
 delete mode 100644 include/deal.II/base/std_cxx11/unique_ptr.h

diff --git a/doc/news/changes/minor/20200521DavidWells b/doc/news/changes/minor/20200521DavidWells
new file mode 100644
index 0000000000..3a7383ba56
--- /dev/null
+++ b/doc/news/changes/minor/20200521DavidWells
@@ -0,0 +1,3 @@
+Removed: All headers under <code>base/std_cxx11/</code> have been removed.
+<br>
+(David Wells, 2020/05/21)
diff --git a/include/deal.II/base/std_cxx11/array.h b/include/deal.II/base/std_cxx11/array.h
deleted file mode 100644
index ab351167ac..0000000000
--- a/include/deal.II/base/std_cxx11/array.h
+++ /dev/null
@@ -1,33 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2009 - 2019 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-#ifndef dealii_std_cxx11_array_h
-#define dealii_std_cxx11_array_h
-
-#include <deal.II/base/config.h>
-
-DEAL_II_WARNING(
-  "This file is deprecated. Simply use the corresponding C++11 header <array>.")
-
-
-#include <array>
-DEAL_II_NAMESPACE_OPEN
-namespace std_cxx11
-{
-  using std::array;
-}
-DEAL_II_NAMESPACE_CLOSE
-
-#endif
diff --git a/include/deal.II/base/std_cxx11/bind.h b/include/deal.II/base/std_cxx11/bind.h
deleted file mode 100644
index 8b4d18c96e..0000000000
--- a/include/deal.II/base/std_cxx11/bind.h
+++ /dev/null
@@ -1,47 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2009 - 2019 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-#ifndef dealii_std_cxx11_bind_h
-#define dealii_std_cxx11_bind_h
-
-
-#include <deal.II/base/config.h>
-
-DEAL_II_WARNING(
-  "This file is deprecated. Simply use the corresponding C++11 header <functional>.")
-
-#include <functional>
-
-DEAL_II_NAMESPACE_OPEN
-// In boost, the placeholders _1, _2, ... are in the global namespace. In
-// C++11, they are in namespace std::placeholders, which makes them awkward to
-// use. Import them into the dealii::std_cxx11 namespace instead and do the
-// same below if we use boost instead. Namespace 'placeholders' is also defined
-// in dealii::std_cxx11 namespace to make code C++ standard compatible.
-// That is to say, if std::something works with C++11 standard,
-// then dealii::std_cxx11::something should also work.
-namespace std_cxx11
-{
-  using namespace std::placeholders;
-  using std::bind;
-  using std::cref;
-  using std::ref;
-  using std::reference_wrapper;
-
-  namespace placeholders = std::placeholders;
-} // namespace std_cxx11
-DEAL_II_NAMESPACE_CLOSE
-
-#endif
diff --git a/include/deal.II/base/std_cxx11/condition_variable.h b/include/deal.II/base/std_cxx11/condition_variable.h
deleted file mode 100644
index 1075e7ad0f..0000000000
--- a/include/deal.II/base/std_cxx11/condition_variable.h
+++ /dev/null
@@ -1,34 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2009 - 2019 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-#ifndef dealii_std_cxx11_condition_variable_h
-#define dealii_std_cxx11_condition_variable_h
-
-#include <deal.II/base/config.h>
-
-DEAL_II_WARNING(
-  "This file is deprecated. Simply use the corresponding C++11 header <condition_variable>.")
-
-#include <condition_variable>
-DEAL_II_NAMESPACE_OPEN
-namespace std_cxx11
-{
-  using std::adopt_lock;
-  using std::condition_variable;
-  using std::unique_lock;
-} // namespace std_cxx11
-DEAL_II_NAMESPACE_CLOSE
-
-#endif
diff --git a/include/deal.II/base/std_cxx11/function.h b/include/deal.II/base/std_cxx11/function.h
deleted file mode 100644
index fb59534d31..0000000000
--- a/include/deal.II/base/std_cxx11/function.h
+++ /dev/null
@@ -1,32 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2009 - 2019 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-#ifndef dealii_std_cxx11_function_h
-#define dealii_std_cxx11_function_h
-
-#include <deal.II/base/config.h>
-
-DEAL_II_WARNING(
-  "This file is deprecated. Simply use the corresponding C++11 header <functional>.")
-
-#include <functional>
-DEAL_II_NAMESPACE_OPEN
-namespace std_cxx11
-{
-  using std::function;
-}
-DEAL_II_NAMESPACE_CLOSE
-
-#endif
diff --git a/include/deal.II/base/std_cxx11/iterator.h b/include/deal.II/base/std_cxx11/iterator.h
deleted file mode 100644
index bc9bc91017..0000000000
--- a/include/deal.II/base/std_cxx11/iterator.h
+++ /dev/null
@@ -1,34 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2012 - 2019 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-#ifndef dealii_std_cxx11_iterator_h
-#define dealii_std_cxx11_iterator_h
-
-#include <deal.II/base/config.h>
-
-DEAL_II_WARNING(
-  "This file is deprecated. Simply use the corresponding C++11 header <iterator>.")
-
-
-#include <iterator>
-DEAL_II_NAMESPACE_OPEN
-namespace std_cxx11
-{
-  using std::begin;
-  using std::end;
-} // namespace std_cxx11
-DEAL_II_NAMESPACE_CLOSE
-
-#endif
diff --git a/include/deal.II/base/std_cxx11/mutex.h b/include/deal.II/base/std_cxx11/mutex.h
deleted file mode 100644
index 6639d6a8f0..0000000000
--- a/include/deal.II/base/std_cxx11/mutex.h
+++ /dev/null
@@ -1,32 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2009 - 2019 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-#ifndef dealii_std_cxx11_mutex_h
-#define dealii_std_cxx11_mutex_h
-
-#include <deal.II/base/config.h>
-
-DEAL_II_WARNING(
-  "This file is deprecated. Simply use the corresponding C++11 header <mutex>.")
-
-#include <mutex>
-DEAL_II_NAMESPACE_OPEN
-namespace std_cxx11
-{
-  using std::mutex;
-}
-DEAL_II_NAMESPACE_CLOSE
-
-#endif
diff --git a/include/deal.II/base/std_cxx11/shared_ptr.h b/include/deal.II/base/std_cxx11/shared_ptr.h
deleted file mode 100644
index 9086af2b0c..0000000000
--- a/include/deal.II/base/std_cxx11/shared_ptr.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2009 - 2019 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-#ifndef dealii_std_cxx11_shared_ptr_h
-#define dealii_std_cxx11_shared_ptr_h
-
-#include <deal.II/base/config.h>
-
-DEAL_II_WARNING(
-  "This file is deprecated. Simply use the corresponding C++11 header <memory>.")
-
-
-#include <memory>
-DEAL_II_NAMESPACE_OPEN
-namespace std_cxx11
-{
-  using std::dynamic_pointer_cast;
-  using std::enable_shared_from_this;
-  using std::make_shared;
-  using std::shared_ptr;
-} // namespace std_cxx11
-DEAL_II_NAMESPACE_CLOSE
-
-#endif
diff --git a/include/deal.II/base/std_cxx11/thread.h b/include/deal.II/base/std_cxx11/thread.h
deleted file mode 100644
index fe24831e62..0000000000
--- a/include/deal.II/base/std_cxx11/thread.h
+++ /dev/null
@@ -1,32 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2009 - 2019 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-#ifndef dealii_std_cxx11_thread_h
-#define dealii_std_cxx11_thread_h
-
-#include <deal.II/base/config.h>
-
-DEAL_II_WARNING(
-  "This file is deprecated. Simply use the corresponding C++11 header <thread>.")
-
-#include <thread>
-DEAL_II_NAMESPACE_OPEN
-namespace std_cxx11
-{
-  using std::thread;
-}
-DEAL_II_NAMESPACE_CLOSE
-
-#endif
diff --git a/include/deal.II/base/std_cxx11/tuple.h b/include/deal.II/base/std_cxx11/tuple.h
deleted file mode 100644
index 22d0aac72c..0000000000
--- a/include/deal.II/base/std_cxx11/tuple.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2009 - 2019 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-#ifndef dealii_std_cxx11_tuple_h
-#define dealii_std_cxx11_tuple_h
-
-#include <deal.II/base/config.h>
-
-DEAL_II_WARNING(
-  "This file is deprecated. Simply use the corresponding C++11 header <tuple>.")
-
-#include <tuple>
-DEAL_II_NAMESPACE_OPEN
-namespace std_cxx11
-{
-  using std::get;
-  using std::make_tuple;
-  using std::tuple;
-  using std::tuple_element;
-  using std::tuple_size;
-} // namespace std_cxx11
-DEAL_II_NAMESPACE_CLOSE
-
-#endif
diff --git a/include/deal.II/base/std_cxx11/type_traits.h b/include/deal.II/base/std_cxx11/type_traits.h
deleted file mode 100644
index d7ce32fb58..0000000000
--- a/include/deal.II/base/std_cxx11/type_traits.h
+++ /dev/null
@@ -1,40 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2012 - 2020 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-#ifndef dealii_std_cxx11_type_traits_h
-#define dealii_std_cxx11_type_traits_h
-
-#include <deal.II/base/config.h>
-
-DEAL_II_WARNING(
-  "This file is deprecated. Simply use the corresponding C++11 header <type_traits>.")
-
-
-#include <type_traits>
-DEAL_II_NAMESPACE_OPEN
-namespace std_cxx11
-{
-  using std::enable_if;
-  using std::false_type;
-  using std::is_fundamental;
-  using std::is_pod;
-  using std::is_pointer;
-  using std::is_standard_layout;
-  using std::is_trivial;
-  using std::true_type;
-} // namespace std_cxx11
-DEAL_II_NAMESPACE_CLOSE
-
-#endif
diff --git a/include/deal.II/base/std_cxx11/unique_ptr.h b/include/deal.II/base/std_cxx11/unique_ptr.h
deleted file mode 100644
index b775979dce..0000000000
--- a/include/deal.II/base/std_cxx11/unique_ptr.h
+++ /dev/null
@@ -1,34 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2015 - 2019 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-#ifndef dealii_std_cxx11_unique_ptr_h
-#define dealii_std_cxx11_unique_ptr_h
-
-
-#include <deal.II/base/config.h>
-
-DEAL_II_WARNING(
-  "This file is deprecated. Simply use the corresponding C++11 header <memory>.")
-
-
-#include <memory>
-DEAL_II_NAMESPACE_OPEN
-namespace std_cxx11
-{
-  using std::unique_ptr;
-}
-DEAL_II_NAMESPACE_CLOSE
-
-#endif
-- 
2.39.5