* <h3>Linear Operator</h3>
*
* If deal.II is configured with C++11 support (i.e.,
- * <code>DEAL_II_WITH_CXX11=on</code> during configuration) a versatile
- * mechanism for storing the concept of a linear operator is available.
+ * <code>DEAL_II_WITH_CXX11=ON</code> or <code>DEAL_II_WITH_CXX14=ON</code>
+ * during configuration) a versatile mechanism for storing the concept of a
+ * linear operator is available.
*
* This is done with a LinearOperator class that, similarly to the abstract
* MATRIX interface, defines a minimal interface for <i>applying</i> a
<ol>
+ <li> New: deal.II now supports compilation in C++14 mode, which may be
+ enabled with the CMake option <code>DEAL_II_WITH_CXX14</code>.
+ <br>
+ (David Wells, 2015/06/21)
+ </li>
+
<li> New: Implement a modified version of the Kelly error estimator, which
effectively provides the boundary residual term for the hp-FEM error estimators.
<br>
<h3>Feature configuration</h3>
<p>
- <acronym>deal.II</acronym> provides (optional) interfaces to quite
- a number of external libraries. All of these are represented by
- <code>cmake</code> variables that are set to <code>ON</code> if
- an external package is found or to <code>OFF</code> otherwise. By
- explicitly setting it to off either on the command line or using
- <code>ccmake</code>, you can prevent <acronym>deal.II</acronym>
- from using this external package, even if it is found.
+ <acronym>deal.II</acronym> provides (optional) interfaces to quite a
+ number of external libraries as well as multiple versions
+ of <code>C++</code>. All of these options are represented
+ by <code>cmake</code> variables that may be set to either <code>ON</code>
+ or <code>OFF</code>.
+
+ By default, <acronym>deal.II</acronym> does not provide the compiler with
+ any <code>C++</code> version flag. If
+ either <code>DEAL_II_WITH_CXX11</code> or <code>DEAL_II_WITH_CXX14</code>
+ is set to <code>ON</code>, then <code>cmake</code> will attempt to
+ determine both the level of compliance and the correct compiler flag for
+ the requested language standard.
+
+ The remaining flags are set to <code>ON</code> if an external package is
+ found or to <code>OFF</code> otherwise. By explicitly setting it to off
+ either on the command line or using <code>ccmake</code>, you can
+ prevent <acronym>deal.II</acronym> from using an external package, even if
+ it is found.
</p>
<p>
DEAL_II_WITH_BOOST
DEAL_II_WITH_BZIP2
DEAL_II_WITH_CXX11
+DEAL_II_WITH_CXX14
DEAL_II_WITH_HDF5
DEAL_II_WITH_LAPACK
DEAL_II_WITH_METIS
libraries.
</p>
+ <p>
+ Additionally, the variable
+<pre class="cmake">
+DEAL_II_CXX_VERSION_FLAG
+</pre>
+ may be set to specify the <code>C++</code> language version flag passed to
+ the compiler.
+ </p>
+
<p>
There are some options to determine the behavior of the dependency
resolution.
#
# A custom C++11 flag can be set by setting
#
-# SET(DEAL_II_CXX11_FLAG "-std=c++0x" CACHE STRING "")
+# SET(DEAL_II_CXX_VERSION_FLAG "-std=c++0x" CACHE STRING "")
+#
+
+#
+# C++14 support:
+#
+# SET(DEAL_II_WITH_CXX14 ON CACHE BOOL
+# "deal.II using C++14 language standard"
+# )
+#
+# A custom C++14 flag can be set by setting
+#
+# SET(DEAL_II_CXX_VERSION_FLAG "-std=c++1y" CACHE STRING "")
#