From 3d19b915997b5ab4f4f05de6f59581d6d4265ca4 Mon Sep 17 00:00:00 2001
From: David Wells <wellsd2@rpi.edu>
Date: Sat, 28 Apr 2018 20:39:43 -0400
Subject: [PATCH] Remove some references to C++11 support.

---
 doc/developers/cmake-internals.html     |  2 +-
 examples/step-13/step-13.cc             | 25 +++++++++++--------------
 include/deal.II/dofs/dof_handler.h      |  1 -
 include/deal.II/lac/block_vector_base.h |  3 +--
 include/deal.II/lac/read_write_vector.h |  4 ++--
 source/hp/dof_handler.cc                |  1 -
 6 files changed, 15 insertions(+), 21 deletions(-)

diff --git a/doc/developers/cmake-internals.html b/doc/developers/cmake-internals.html
index 46a001e5cc..f728d59f5e 100644
--- a/doc/developers/cmake-internals.html
+++ b/doc/developers/cmake-internals.html
@@ -190,7 +190,7 @@ SET_TARGET_PROPERTIES(${DEAL_II_BASE_NAME}${DEAL_II_${build}_SUFFIX}
 #     ENABLE_IF_SUPPORTED(DEAL_II_CXX_FLAGS "-march=native")
 #   ENDIF()
 #
-# Checks for compiler features (such as C++11 support) and compiler
+# Checks for compiler features (such as C++14 support) and compiler
 # specific bugs that
 #   - usually set up further configuration (such as preprocessor
 #     definitions)
diff --git a/examples/step-13/step-13.cc b/examples/step-13/step-13.cc
index 204d24a00c..91a982ff8f 100644
--- a/examples/step-13/step-13.cc
+++ b/examples/step-13/step-13.cc
@@ -857,22 +857,19 @@ namespace Step13
       // std::placeholders::_1)</code> then calling <code>p(1,2)</code> will
       // result in calling <code>f(2,1)</code>.
       //
-      // @note Once deal.II can rely on every compiler being able to
-      // fully understand the syntax of the C++11 standard, one can
-      // use C++'s version of <a
+      // @note An alternative to using <code>std::bind</code> is to use C++'s
+      // version of <a
       // href="http://en.wikipedia.org/wiki/Anonymous_function">lambda
-      // functions</a> to achieve the same goal. In essence, a lambda
-      // function is a function without a name that is defined right
-      // at the one place where it is going to be used -- i.e., where
-      // we pass the third and fourth argument to WorkStream::run. The
-      // functions one would define in these locations would take 3
-      // and 1 arguments, respectively, and all they do is call
+      // functions</a>. In essence, a lambda function is a function without a
+      // name that is defined right at the one place where it is going to be
+      // used -- i.e., where we pass the third and fourth argument to
+      // WorkStream::run. The functions one would define in these locations
+      // would take 3 and 1 arguments, respectively, and all they do is call
       // <code>Solver::local_assemble_matrix</code> and
-      // <code>Solver::copy_local_to_global</code> with the required
-      // number of arguments, utilizing what the lambda function has
-      // gotten as arguments itself. We won't show the syntax this
-      // would require since it is no less confusing than the one used
-      // above.
+      // <code>Solver::copy_local_to_global</code> with the required number of
+      // arguments, utilizing what the lambda function has gotten as arguments
+      // itself. We won't show the syntax this would require since it is no
+      // less confusing than the one used above.
 
       // At this point, we have assembled the matrix and condensed
       // it. The right hand side may or may not have been completely
diff --git a/include/deal.II/dofs/dof_handler.h b/include/deal.II/dofs/dof_handler.h
index f988909cb5..52eda97d20 100644
--- a/include/deal.II/dofs/dof_handler.h
+++ b/include/deal.II/dofs/dof_handler.h
@@ -685,7 +685,6 @@ public:
    *       ...do the local integration on 'cell'...;
    *     }
    * @endcode
-   * To use this feature, you need a compiler that supports C++11.
    *
    * @return The half open range <code>[this->begin_active(),
    * this->end())</code>
diff --git a/include/deal.II/lac/block_vector_base.h b/include/deal.II/lac/block_vector_base.h
index 5b2db60fd0..7559bcebe6 100644
--- a/include/deal.II/lac/block_vector_base.h
+++ b/include/deal.II/lac/block_vector_base.h
@@ -1032,8 +1032,7 @@ namespace internal
     {
       // Only permit copy-constructing const iterators from non-const
       // iterators, and not vice versa (i.e., Constness must always be
-      // true). As mentioned above, try to check this at compile time if C++11
-      // support is available.
+      // true).
       static_assert(Constness == true,
                     "Constructing a non-const iterator from a const iterator "
                     "does not make sense.");
diff --git a/include/deal.II/lac/read_write_vector.h b/include/deal.II/lac/read_write_vector.h
index b5b5359f0b..2a89b6223c 100644
--- a/include/deal.II/lac/read_write_vector.h
+++ b/include/deal.II/lac/read_write_vector.h
@@ -232,8 +232,8 @@ namespace LinearAlgebra
      * };
      * @endcode
      *
-     * @note This function requires C++11 and read_write_vector.templates.h
-     * needs to be included.
+     * @note This function requires that the header read_write_vector.templates.h
+     * be included.
      */
     template <typename Functor>
     void apply(const Functor &func);
diff --git a/source/hp/dof_handler.cc b/source/hp/dof_handler.cc
index b3b90b4625..824ce7416d 100644
--- a/source/hp/dof_handler.cc
+++ b/source/hp/dof_handler.cc
@@ -42,7 +42,6 @@ DEAL_II_NAMESPACE_OPEN
 // The following is necessary for compilation under Visual Studio which is unable to correctly
 // distinguish between dealii::DoFHandler and dealii::hp::DoFHandler.
 // Plus it makes code in dof_handler.cc easier to read.
-// Requires C++11 support which is in Visual Studio 2013 and newer.
 #if defined(_MSC_VER) && (_MSC_VER >= 1800)
 template <int dim, int spacedim> using HpDoFHandler = ::dealii::hp::DoFHandler<dim, spacedim>;
 #else
-- 
2.39.5