]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
<li> Changed: deal.II has a namespace std_cxx1x that was used to
authorbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 30 May 2011 00:16:00 +0000 (00:16 +0000)
committerbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 30 May 2011 00:16:00 +0000 (00:16 +0000)
import classes from BOOST that are part of the upcoming C++ 1x standard. On
the other hand, if your compiler supported a sufficiently large subset
of C++ 1x, we had code that simply did
@code
  namespace std_cxx1x = std;
@endcode
allowing you to refer to everything that was part of the compiler's namespace
<code>std</code> under the alternative name. This turned out to be untenable
in connection to the changed outlined below for _1, _2, etc. Consequently,
if the compiler used supports C++ 1x, we now selectively import elements of the
compiler's namespace std into namespace std_cxx1x as well. This may lead to
incompatibilities if you are already using elements of the C++ 1x
standard by refering to them through the std_cxx1x namespace and these elements
are not on the list of selectively imported ones.
<br>
(Wolfgang Bangerth, 2011/05/29)

<li> Changed: Previously, placeholder arguments like _1, _2, etc that are used
in conjunction with the std_cxx1x::bind function could be referenced as if
they are part of the global namespace. This was achieved by importing the
corresponding elements of namespace std::placeholders into the global namespace
if your compiler supported this part of the C++ 1x standard, or otherwise using
the BOOST counterparts which are already in the global namespace. However,
this leads to a conflict if one has a C++ 1x enabled compiler (e.g. GCC 4.6)
<i>and</i> #includes certain BOOST headers, since the importation of symbols
into the global namespace now leads to ambiguous names. The only solution to
the problem is to not import names into the global namespace, but rather
import the names from either BOOST or namespace std into the deal.II namespace
std_cxx1x. The downside is that all code that uses _1, _2, etc needs to be
changed to use std_cxx1x::_1, std_cxx1x::_2, etc from now on.
<br>
(Wolfgang Bangerth, 2011/05/29)
</ol>

git-svn-id: https://svn.dealii.org/trunk@23752 0785d39b-7218-0410-832d-ea1e28bc413d

23 files changed:
deal.II/doc/news/changes.h
deal.II/examples/step-32/step-32.cc
deal.II/examples/step-37/step-37.cc
deal.II/include/deal.II/base/parallel.h
deal.II/include/deal.II/base/std_cxx1x/array.h
deal.II/include/deal.II/base/std_cxx1x/bind.h
deal.II/include/deal.II/base/std_cxx1x/condition_variable.h
deal.II/include/deal.II/base/std_cxx1x/function.h
deal.II/include/deal.II/base/std_cxx1x/mutex.h
deal.II/include/deal.II/base/std_cxx1x/shared_ptr.h
deal.II/include/deal.II/base/std_cxx1x/thread.h
deal.II/include/deal.II/base/std_cxx1x/tuple.h
deal.II/include/deal.II/base/thread_management.h
deal.II/include/deal.II/base/work_stream.h
deal.II/include/deal.II/lac/sparse_matrix.templates.h
deal.II/include/deal.II/lac/vector.h
deal.II/include/deal.II/numerics/mesh_worker_loop.h
deal.II/source/distributed/solution_transfer.cc
deal.II/source/numerics/data_out.cc
deal.II/source/numerics/data_out_faces.cc
deal.II/source/numerics/data_out_rotation.cc
deal.II/source/numerics/error_estimator.cc
deal.II/source/numerics/matrices.cc

index d49a6a01e89850849fb3889679f7969ea39e74cb..1bdf4f2e380ab2cedf43cbc3951a75697ee5a00b 100644 (file)
@@ -21,7 +21,39 @@ inconvenience this causes.
 </p>
 
 <ol>
-  <li>
+<li> Changed: deal.II has a namespace std_cxx1x that was used to
+import classes from BOOST that are part of the upcoming C++ 1x standard. On
+the other hand, if your compiler supported a sufficiently large subset
+of C++ 1x, we had code that simply did
+@code
+  namespace std_cxx1x = std;
+@endcode
+allowing you to refer to everything that was part of the compiler's namespace 
+<code>std</code> under the alternative name. This turned out to be untenable
+in connection to the changed outlined below for _1, _2, etc. Consequently,
+if the compiler used supports C++ 1x, we now selectively import elements of the
+compiler's namespace std into namespace std_cxx1x as well. This may lead to
+incompatibilities if you are already using elements of the C++ 1x
+standard by refering to them through the std_cxx1x namespace and these elements
+are not on the list of selectively imported ones.
+<br>
+(Wolfgang Bangerth, 2011/05/29)
+
+<li> Changed: Previously, placeholder arguments like _1, _2, etc that are used
+in conjunction with the std_cxx1x::bind function could be referenced as if
+they are part of the global namespace. This was achieved by importing the
+corresponding elements of namespace std::placeholders into the global namespace
+if your compiler supported this part of the C++ 1x standard, or otherwise using
+the BOOST counterparts which are already in the global namespace. However,
+this leads to a conflict if one has a C++ 1x enabled compiler (e.g. GCC 4.6)
+<i>and</i> #includes certain BOOST headers, since the importation of symbols
+into the global namespace now leads to ambiguous names. The only solution to
+the problem is to not import names into the global namespace, but rather 
+import the names from either BOOST or namespace std into the deal.II namespace
+std_cxx1x. The downside is that all code that uses _1, _2, etc needs to be
+changed to use std_cxx1x::_1, std_cxx1x::_2, etc from now on.
+<br>
+(Wolfgang Bangerth, 2011/05/29)
 </ol>
 
 
@@ -34,7 +66,7 @@ for the GNU Scientific Library (GSL) in version 7.0 but didn't actually
 use any of the GSL functions. The corresponding code has therefore been
 removed again.
 <br>
-(WB, 2011/05/22)
+(Wolfgang Bangerth, 2011/05/22)
 
 
 <li> Changed: Traditionally, include directories were set through the
@@ -53,13 +85,13 @@ This change has been made throughout the library and tutorial programs.
 However, the old way of using include directories will continue to work
 for at least one release for backward compatibility.
 <br>
-(WB, 2011/05/16)
+(Wolfgang Bangerth, 2011/05/16)
 
 <li> Changed: The version of BOOST we ship with deal.II has been upgraded
 to 1.46.1. BOOST now also resides in the directory <code>contrib/boost-1.46.1</code>
 instead of an unversioned directory.
 <br>
-(WB, 2011/05/16)
+(Wolfgang Bangerth, 2011/05/16)
 
 <li> New: The SparseDirectUMFPACK class can now also deal with matrices
 provided in SparseMatrixEZ format.
index 17899a2fa022ddecc8f5e914923f95683919d6f4..cc3bdbff0bb39f7b3f06d114c0fa4a41c9272e45 100644 (file)
@@ -2185,7 +2185,7 @@ copy_local_to_global_stokes_preconditioner (const Assembly::CopyData::StokesPrec
                                 // <code>std_cxx1x::bind</code> to create a
                                 // function object that is compatible with
                                 // the WorkStream class. It uses placeholders
-                                // <code>_1, _2, _3</code> for the local
+                                // <code>_1, std_cxx1x::_2, _3</code> for the local
                                 // assembly function that specify cell,
                                 // scratch data, and copy data, as well as
                                 // the placeholder <code>_1</code> for the
@@ -2249,13 +2249,13 @@ BoussinesqFlowProblem<dim>::assemble_stokes_preconditioner ()
         std_cxx1x::bind (&BoussinesqFlowProblem<dim>::
                          local_assemble_stokes_preconditioner,
                          this,
-                         _1,
-                         _2,
-                         _3),
+                         std_cxx1x::_1,
+                         std_cxx1x::_2,
+                         std_cxx1x::_3),
         std_cxx1x::bind (&BoussinesqFlowProblem<dim>::
                          copy_local_to_global_stokes_preconditioner,
                          this,
-                         _1),
+                         std_cxx1x::_1),
         Assembly::Scratch::
         StokesPreconditioner<dim> (stokes_fe, quadrature_formula,
                                    mapping,
@@ -2456,13 +2456,13 @@ void BoussinesqFlowProblem<dim>::assemble_stokes_system ()
         std_cxx1x::bind (&BoussinesqFlowProblem<dim>::
                          local_assemble_stokes_system,
                          this,
-                         _1,
-                         _2,
-                         _3),
+                         std_cxx1x::_1,
+                         std_cxx1x::_2,
+                         std_cxx1x::_3),
         std_cxx1x::bind (&BoussinesqFlowProblem<dim>::
                          copy_local_to_global_stokes_system,
                          this,
-                         _1),
+                         std_cxx1x::_1),
         Assembly::Scratch::
         StokesSystem<dim> (stokes_fe, mapping, quadrature_formula,
                            (update_values    |
@@ -2583,13 +2583,13 @@ void BoussinesqFlowProblem<dim>::assemble_temperature_matrix ()
         std_cxx1x::bind (&BoussinesqFlowProblem<dim>::
                          local_assemble_temperature_matrix,
                          this,
-                         _1,
-                         _2,
-                         _3),
+                         std_cxx1x::_1,
+                         std_cxx1x::_2,
+                         std_cxx1x::_3),
         std_cxx1x::bind (&BoussinesqFlowProblem<dim>::
                          copy_local_to_global_temperature_matrix,
                          this,
-                         _1),
+                         std_cxx1x::_1),
         Assembly::Scratch::
         TemperatureMatrix<dim> (temperature_fe, mapping, quadrature_formula),
         Assembly::CopyData::
@@ -2868,13 +2868,13 @@ void BoussinesqFlowProblem<dim>::assemble_temperature_system (const double maxim
                          this,
                          global_T_range,
                          maximal_velocity,
-                         _1,
-                         _2,
-                         _3),
+                         std_cxx1x::_1,
+                         std_cxx1x::_2,
+                         std_cxx1x::_3),
         std_cxx1x::bind (&BoussinesqFlowProblem<dim>::
                          copy_local_to_global_temperature_rhs,
                          this,
-                         _1),
+                         std_cxx1x::_1),
         Assembly::Scratch::
         TemperatureRHS<dim> (temperature_fe, stokes_fe, mapping,
                              quadrature_formula),
index 8db716eb0364625ddb740f6df40dd8a22ff63189..bbc6b85f0e1d475f4b851297ad7024f186a21f89 100644 (file)
@@ -647,7 +647,7 @@ MatrixFree<number,Transformation>::Tvmult_add (Vector<number2>       &dst,
                                 // three arguments (in the first case) or one
                                 // argument (in the second), which is what
                                 // the WorkStream::run function expects. The
-                                // placeholders <code>_1, _2, _3</code> in
+                                // placeholders <code>_1, std_cxx1x::_2, _3</code> in
                                 // the local vmult specify variable input
                                 // values, given by the chunk information,
                                 // scratch data and copy data that the
@@ -680,10 +680,10 @@ MatrixFree<number,Transformation>::vmult_add (Vector<number2>       &dst,
   WorkStream::run (matrix_sizes.chunks.begin(), matrix_sizes.chunks.end(),
                   std_cxx1x::bind(&MatrixFree<number,Transformation>::
                                   template local_vmult<number2>,
-                                  this, _1, _2, _3, boost::cref(src)),
+                                  this, std_cxx1x::_1, std_cxx1x::_2, std_cxx1x::_3, boost::cref(src)),
                   std_cxx1x::bind(&MatrixFree<number,Transformation>::
                                   template copy_local_to_global<number2>,
-                                  this, _1, boost::ref(dst)),
+                                  this, std_cxx1x::_1, boost::ref(dst)),
                   WorkStreamData::ScratchData<number>(),
                   WorkStreamData::CopyData<number>(),
                   2*multithread_info.n_default_threads,1);
index b4b8172b3ce11fcfbd8ed6710c7b681439933067..7387e3a630053b65d3f53f0d9ee41acbb0e27746 100644 (file)
@@ -446,7 +446,7 @@ namespace parallel
     tbb::parallel_for (tbb::blocked_range<RangeType>
                       (begin, end, grainsize),
                       std_cxx1x::bind (&internal::apply_to_subranges<RangeType,Function>,
-                                       _1,
+                                       std_cxx1x::_1,
                                        std_cxx1x::cref(f)),
                       tbb::auto_partitioner());
 #endif
index 971a786a1999d90fce6a45207ec67c540574307d..53797cc18306913b116e4bfaa5d276d8f56f3f3f 100644 (file)
 #ifdef DEAL_II_CAN_USE_CXX1X
 
 #  include <array>
+DEAL_II_NAMESPACE_OPEN
+namespace std_cxx1x
+{
+  using std::array;
+}
+DEAL_II_NAMESPACE_CLOSE
 
 #else
 
 #include <boost/array.hpp>
-
 DEAL_II_NAMESPACE_OPEN
 namespace std_cxx1x
 {
index 0667cd1fc38becb3adc8cb139e19309b217d965d..8cf368b807204c27f9ad1dec977545c806c08bde 100644 (file)
 DEAL_II_NAMESPACE_OPEN
 // in boost, the placeholders _1, _2, ... are in the global namespace. in
 // C++0x, they are in namespace std::placeholders, which makes them awkward to
-// use. import them into the deal.II namespace
-using namespace std::placeholders;
+// use. import them into the deal.II::std_cxx1x namespace instead and do them
+// same below if we use boost instead.
+namespace std_cxx1x
+{
+  using namespace std::placeholders;
+  using std::bind;
+  using std::ref;
+  using std::cref;
+  using std::reference_wrapper;
+}
 DEAL_II_NAMESPACE_CLOSE
 
 #else
@@ -38,6 +46,18 @@ namespace std_cxx1x
   using boost::ref;
   using boost::cref;
   using boost::reference_wrapper;
+  
+  // now also import the _1, _2 placeholders from the global namespace
+  // into the current one as suggested above
+  using ::_1;
+  using ::_2;
+  using ::_3;
+  using ::_4;
+  using ::_5;
+  using ::_6;
+  using ::_7;
+  using ::_8;
+  using ::_9;
 }
 DEAL_II_NAMESPACE_CLOSE
 
index ceae7c723c5d482570b28e7b904ee580b6755ce4..6cc7125205a896da47e82b77fcbd9098f60ee19d 100644 (file)
 #ifdef DEAL_II_CAN_USE_CXX1X
 
 #  include <condition_variable>
+DEAL_II_NAMESPACE_OPEN
+namespace std_cxx1x
+{
+  using std::condition_variable;
+  using std::unique_lock;
+  using std::adopt_lock;
+}
+DEAL_II_NAMESPACE_CLOSE
 
 #else
 
 #  include <boost/thread/condition_variable.hpp>
-
 DEAL_II_NAMESPACE_OPEN
 namespace std_cxx1x
 {
index 52e8829a5378d4fd9e773afdae79c9ce09a69415..8140fa1c7ef6824443dcf037c705ecfb9b7fc720 100644 (file)
 #ifdef DEAL_II_CAN_USE_CXX1X
 
 #  include <functional>
+DEAL_II_NAMESPACE_OPEN
+namespace std_cxx1x
+{
+  using std::function;
+}
+DEAL_II_NAMESPACE_CLOSE
 
 #else
 
 #include <boost/function.hpp>
-
 DEAL_II_NAMESPACE_OPEN
 namespace std_cxx1x
 {
index 8218212353bf75aca5f70312fea161287ea1c450..d58330ae005903abf00e54664c7329f52f7cc319 100644 (file)
 #ifdef DEAL_II_CAN_USE_CXX1X
 
 #  include <mutex>
+DEAL_II_NAMESPACE_OPEN
+namespace std_cxx1x
+{
+  using std::mutex;
+}
+DEAL_II_NAMESPACE_CLOSE
 
 #else
 
 #  include <boost/thread/mutex.hpp>
-
 DEAL_II_NAMESPACE_OPEN
 namespace std_cxx1x
 {
index 4f928ae40329d8bce44b876c52a17e13b9622397..71a784d359f533dde4e138170d74bcc554fbdd0a 100644 (file)
 #ifdef DEAL_II_CAN_USE_CXX1X
 
 #  include <memory>
+DEAL_II_NAMESPACE_OPEN
+namespace std_cxx1x
+{
+  using std::shared_ptr;
+  using std::enable_shared_from_this;
+}
+DEAL_II_NAMESPACE_CLOSE
 
 #else
 
 #include <boost/shared_ptr.hpp>
-
 DEAL_II_NAMESPACE_OPEN
 namespace std_cxx1x
 {
index af2454fa58122b7ea4e5f0c6cfc9c2fc2e076267..f471d8d0e8f1cadb0b72796e28fd65190e366447 100644 (file)
 #ifdef DEAL_II_CAN_USE_CXX1X
 
 #  include <thread>
+DEAL_II_NAMESPACE_OPEN
+namespace std_cxx1x
+{
+  using std::thread;
+}
+DEAL_II_NAMESPACE_CLOSE
 
 #else
 
 #  include <boost/thread.hpp>
-
 DEAL_II_NAMESPACE_OPEN
 namespace std_cxx1x
 {
index 1f8f577f68df91d7dc0630b784ab3e9183658bf7..293c1a45b9d26e06cb596832a78ce3d78fdf6ecd 100644 (file)
 #ifdef DEAL_II_CAN_USE_CXX1X
 
 #  include <tuple>
+DEAL_II_NAMESPACE_OPEN
+namespace std_cxx1x
+{
+  using std::tuple;
+  using std::get;
+  using std::tuple_size;
+  using std::tuple_element;
+}
+DEAL_II_NAMESPACE_CLOSE
 
 #else
 
 #include <boost/tuple/tuple.hpp>
-
 DEAL_II_NAMESPACE_OPEN
 namespace std_cxx1x
 {
index eebcd2c6e53dd64b64778d51bbe8cad1e67f3b27..c8b63b30d73eefe1c81dec8e0bac25cc554e5a6e 100644 (file)
@@ -2155,7 +2155,7 @@ namespace Threads
   {
     return
       std_cxx1x::function<typename internal::fun_ptr<RT,std_cxx1x::tuple<Arg1> >::type>
-      (std_cxx1x::bind(fun_ptr, std_cxx1x::ref(c), _1));
+      (std_cxx1x::bind(fun_ptr, std_cxx1x::ref(c), std_cxx1x::_1));
   }
 
                                   /**
@@ -2172,7 +2172,7 @@ namespace Threads
   {
     return
       std_cxx1x::function<typename internal::fun_ptr<RT,std_cxx1x::tuple<Arg1> >::type>
-      (std_cxx1x::bind(fun_ptr, std_cxx1x::cref(c), _1));
+      (std_cxx1x::bind(fun_ptr, std_cxx1x::cref(c), std_cxx1x::_1));
   }
 
 
@@ -2209,7 +2209,7 @@ namespace Threads
   {
     return
       std_cxx1x::function<typename internal::fun_ptr<RT,std_cxx1x::tuple<Arg1,Arg2> >::type>
-      (std_cxx1x::bind(fun_ptr, std_cxx1x::ref(c), _1, _2));
+      (std_cxx1x::bind(fun_ptr, std_cxx1x::ref(c), std_cxx1x::_1, std_cxx1x::_2));
   }
 
                                   /**
@@ -2226,7 +2226,7 @@ namespace Threads
   {
     return
       std_cxx1x::function<typename internal::fun_ptr<RT,std_cxx1x::tuple<Arg1,Arg2> >::type>
-      (std_cxx1x::bind(fun_ptr, std_cxx1x::cref(c), _1, _2));
+      (std_cxx1x::bind(fun_ptr, std_cxx1x::cref(c), std_cxx1x::_1, std_cxx1x::_2));
   }
 
 
@@ -2265,7 +2265,7 @@ namespace Threads
   {
     return
       std_cxx1x::function<typename internal::fun_ptr<RT,std_cxx1x::tuple<Arg1,Arg2,Arg3> >::type>
-      (std_cxx1x::bind(fun_ptr, std_cxx1x::ref(c), _1, _2, _3));
+      (std_cxx1x::bind(fun_ptr, std_cxx1x::ref(c), std_cxx1x::_1, std_cxx1x::_2, std_cxx1x::_3));
   }
 
                                   /**
@@ -2283,7 +2283,7 @@ namespace Threads
   {
     return
       std_cxx1x::function<typename internal::fun_ptr<RT,std_cxx1x::tuple<Arg1,Arg2,Arg3> >::type>
-      (std_cxx1x::bind(fun_ptr, std_cxx1x::cref(c), _1, _2, _3));
+      (std_cxx1x::bind(fun_ptr, std_cxx1x::cref(c), std_cxx1x::_1, std_cxx1x::_2, std_cxx1x::_3));
   }
 
 
@@ -2323,7 +2323,7 @@ namespace Threads
   {
     return
       std_cxx1x::function<typename internal::fun_ptr<RT,std_cxx1x::tuple<Arg1, Arg2, Arg3, Arg4> >::type>
-      (std_cxx1x::bind(fun_ptr, std_cxx1x::ref(c), _1, _2, _3, _4));
+      (std_cxx1x::bind(fun_ptr, std_cxx1x::ref(c), std_cxx1x::_1, std_cxx1x::_2, std_cxx1x::_3, std_cxx1x::_4));
   }
 
                                   /**
@@ -2341,7 +2341,7 @@ namespace Threads
   {
     return
       std_cxx1x::function<typename internal::fun_ptr<RT,std_cxx1x::tuple<Arg1, Arg2, Arg3, Arg4> >::type>
-      (std_cxx1x::bind(fun_ptr, std_cxx1x::cref(c), _1, _2, _3, _4));
+      (std_cxx1x::bind(fun_ptr, std_cxx1x::cref(c), std_cxx1x::_1, std_cxx1x::_2, std_cxx1x::_3, std_cxx1x::_4));
   }
 
 
@@ -2382,7 +2382,7 @@ namespace Threads
   {
     return
       std_cxx1x::function<typename internal::fun_ptr<RT,std_cxx1x::tuple<Arg1, Arg2, Arg3, Arg4, Arg5> >::type>
-      (std_cxx1x::bind(fun_ptr, std_cxx1x::ref(c), _1, _2, _3, _4, _5));
+      (std_cxx1x::bind(fun_ptr, std_cxx1x::ref(c), std_cxx1x::_1, std_cxx1x::_2, std_cxx1x::_3, std_cxx1x::_4, std_cxx1x::_5));
   }
 
                                   /**
@@ -2401,7 +2401,7 @@ namespace Threads
   {
     return
       std_cxx1x::function<typename internal::fun_ptr<RT,std_cxx1x::tuple<Arg1, Arg2, Arg3, Arg4, Arg5> >::type>
-      (std_cxx1x::bind(fun_ptr, std_cxx1x::cref(c), _1, _2, _3, _4, _5));
+      (std_cxx1x::bind(fun_ptr, std_cxx1x::cref(c), std_cxx1x::_1, std_cxx1x::_2, std_cxx1x::_3, std_cxx1x::_4, std_cxx1x::_5));
   }
 
 
@@ -2442,7 +2442,7 @@ namespace Threads
   {
     return
       std_cxx1x::function<typename internal::fun_ptr<RT,std_cxx1x::tuple<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6> >::type>
-      (std_cxx1x::bind(fun_ptr, std_cxx1x::ref(c), _1, _2, _3, _4, _5, _6));
+      (std_cxx1x::bind(fun_ptr, std_cxx1x::ref(c), std_cxx1x::_1, std_cxx1x::_2, std_cxx1x::_3, std_cxx1x::_4, std_cxx1x::_5, std_cxx1x::_6));
   }
 
                                   /**
@@ -2462,7 +2462,7 @@ namespace Threads
   {
     return
       std_cxx1x::function<typename internal::fun_ptr<RT,std_cxx1x::tuple<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6> >::type>
-      (std_cxx1x::bind(fun_ptr, std_cxx1x::cref(c), _1, _2, _3, _4, _5, _6));
+      (std_cxx1x::bind(fun_ptr, std_cxx1x::cref(c), std_cxx1x::_1, std_cxx1x::_2, std_cxx1x::_3, std_cxx1x::_4, std_cxx1x::_5, std_cxx1x::_6));
   }
 
 
@@ -2507,7 +2507,7 @@ namespace Threads
   {
     return
       std_cxx1x::function<typename internal::fun_ptr<RT,std_cxx1x::tuple<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7> >::type>
-      (std_cxx1x::bind(fun_ptr, std_cxx1x::ref(c), _1, _2, _3, _4, _5, _6, _7));
+      (std_cxx1x::bind(fun_ptr, std_cxx1x::ref(c), std_cxx1x::_1, std_cxx1x::_2, std_cxx1x::_3, std_cxx1x::_4, std_cxx1x::_5, std_cxx1x::_6, std_cxx1x::_7));
   }
 
                                   /**
@@ -2529,7 +2529,7 @@ namespace Threads
   {
     return
       std_cxx1x::function<typename internal::fun_ptr<RT,std_cxx1x::tuple<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7> >::type>
-      (std_cxx1x::bind(fun_ptr, std_cxx1x::cref(c), _1, _2, _3, _4, _5, _6, _7));
+      (std_cxx1x::bind(fun_ptr, std_cxx1x::cref(c), std_cxx1x::_1, std_cxx1x::_2, std_cxx1x::_3, std_cxx1x::_4, std_cxx1x::_5, std_cxx1x::_6, std_cxx1x::_7));
   }
 
 
@@ -2578,7 +2578,7 @@ namespace Threads
   {
     return
       std_cxx1x::function<typename internal::fun_ptr<RT,std_cxx1x::tuple<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8> >::type>
-      (std_cxx1x::bind(fun_ptr, std_cxx1x::ref(c), _1, _2, _3, _4, _5, _6, _7, _8));
+      (std_cxx1x::bind(fun_ptr, std_cxx1x::ref(c), std_cxx1x::_1, std_cxx1x::_2, std_cxx1x::_3, std_cxx1x::_4, std_cxx1x::_5, std_cxx1x::_6, std_cxx1x::_7, std_cxx1x::_8));
   }
 
                                   /**
@@ -2602,7 +2602,7 @@ namespace Threads
   {
     return
       std_cxx1x::function<typename internal::fun_ptr<RT,std_cxx1x::tuple<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8> >::type>
-      (std_cxx1x::bind(fun_ptr, std_cxx1x::cref(c), _1, _2, _3, _4, _5, _6, _7, _8));
+      (std_cxx1x::bind(fun_ptr, std_cxx1x::cref(c), std_cxx1x::_1, std_cxx1x::_2, std_cxx1x::_3, std_cxx1x::_4, std_cxx1x::_5, std_cxx1x::_6, std_cxx1x::_7, std_cxx1x::_8));
   }
 
 
@@ -2651,7 +2651,7 @@ namespace Threads
   {
     return
       std_cxx1x::function<typename internal::fun_ptr<RT,std_cxx1x::tuple<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9> >::type>
-      (std_cxx1x::bind(fun_ptr, std_cxx1x::ref(c), _1, _2, _3, _4, _5, _6, _7, _8, _9));
+      (std_cxx1x::bind(fun_ptr, std_cxx1x::ref(c), std_cxx1x::_1, std_cxx1x::_2, std_cxx1x::_3, std_cxx1x::_4, std_cxx1x::_5, std_cxx1x::_6, std_cxx1x::_7, std_cxx1x::_8, std_cxx1x::_9));
   }
 
                                   /**
@@ -2675,7 +2675,7 @@ namespace Threads
   {
     return
       std_cxx1x::function<typename internal::fun_ptr<RT,std_cxx1x::tuple<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9> >::type>
-      (std_cxx1x::bind(fun_ptr, std_cxx1x::cref(c), _1, _2, _3, _4, _5, _6, _7, _8, _9));
+      (std_cxx1x::bind(fun_ptr, std_cxx1x::cref(c), std_cxx1x::_1, std_cxx1x::_2, std_cxx1x::_3, std_cxx1x::_4, std_cxx1x::_5, std_cxx1x::_6, std_cxx1x::_7, std_cxx1x::_8, std_cxx1x::_9));
   }
 
 
index ab5937e040c5f7c709e1e12e4c47821772fda3ad..1f4d247d75ea3b802dad58e38263d03dc6f01fe5 100644 (file)
@@ -629,10 +629,10 @@ namespace WorkStream
     run (begin, end,
         std_cxx1x::bind (worker,
                          std_cxx1x::ref (main_object),
-                         _1, _2, _3),
+                         std_cxx1x::_1, std_cxx1x::_2, std_cxx1x::_3),
         std_cxx1x::bind (copier,
                          std_cxx1x::ref (main_object),
-                         _1),
+                         std_cxx1x::_1),
         sample_scratch_data,
         sample_copy_data,
         queue_length,
index d45f270ae4fceffaf516bf782a272c48126cf93c..a06ca9236e1a46c4751bdca37b1ea3243deffcec 100644 (file)
@@ -638,7 +638,7 @@ SparseMatrix<number>::vmult (OutVector& dst,
   parallel::apply_to_subranges (0U, m(),
                                std_cxx1x::bind (&internal::SparseMatrix::vmult_on_subrange
                                                 <number,InVector,OutVector>,
-                                                _1, _2,
+                                                std_cxx1x::_1, std_cxx1x::_2,
                                                 val,
                                                 cols->rowstart,
                                                 cols->colnums,
@@ -693,7 +693,7 @@ SparseMatrix<number>::vmult_add (OutVector& dst,
   parallel::apply_to_subranges (0U, m(),
                                std_cxx1x::bind (&internal::SparseMatrix::vmult_on_subrange
                                                 <number,InVector,OutVector>,
-                                                _1, _2,
+                                                std_cxx1x::_1, std_cxx1x::_2,
                                                 val,
                                                 cols->rowstart,
                                                 cols->colnums,
@@ -781,7 +781,7 @@ SparseMatrix<number>::matrix_norm_square (const Vector<somenumber>& v) const
     parallel::accumulate_from_subranges<number>
     (std_cxx1x::bind (&internal::SparseMatrix::matrix_norm_sqr_on_subrange
                      <number,Vector<somenumber> >,
-                     _1, _2,
+                     std_cxx1x::_1, std_cxx1x::_2,
                      val, cols->rowstart, cols->colnums,
                      std_cxx1x::cref(v)),
      0, m(),
@@ -846,7 +846,7 @@ SparseMatrix<number>::matrix_scalar_product (const Vector<somenumber>& u,
     parallel::accumulate_from_subranges<number>
     (std_cxx1x::bind (&internal::SparseMatrix::matrix_scalar_product_on_subrange
                      <number,Vector<somenumber> >,
-                     _1, _2,
+                     std_cxx1x::_1, std_cxx1x::_2,
                      val, cols->rowstart, cols->colnums,
                      std_cxx1x::cref(u),
                      std_cxx1x::cref(v)),
@@ -1254,7 +1254,7 @@ SparseMatrix<number>::residual (Vector<somenumber>       &dst,
     std::sqrt (parallel::accumulate_from_subranges<number>
               (std_cxx1x::bind (&internal::SparseMatrix::residual_sqr_on_subrange
                                 <number,Vector<somenumber>,Vector<somenumber> >,
-                                _1, _2,
+                                std_cxx1x::_1, std_cxx1x::_2,
                                 val, cols->rowstart, cols->colnums,
                                 std_cxx1x::cref(u),
                                 std_cxx1x::cref(b),
index 89f795b72f224cde9833840aa57376b9e7b60d3d..551f3169a84d6604354373ff59cd743d4a7a2c85 100644 (file)
@@ -1163,7 +1163,7 @@ Vector<Number> & Vector<Number>::operator = (const Number s)
     parallel::apply_to_subranges (0U, vec_size,
                                  std_cxx1x::bind(&internal::Vector::template
                                                  set_subrange<Number>,
-                                                 s, _1, _2, std_cxx1x::ref(*this)),
+                                                 s, std_cxx1x::_1, std_cxx1x::_2, std_cxx1x::ref(*this)),
                                  internal::Vector::minimum_parallel_grain_size);
   else if (vec_size > 0)
     internal::Vector::set_subrange<Number>(s, 0U, vec_size, *this);
@@ -1202,7 +1202,7 @@ Vector<Number>::operator = (const Vector<Number>& v)
     parallel::apply_to_subranges (0U, vec_size,
                                  std_cxx1x::bind(&internal::Vector::template
                                                  copy_subrange<Number>,
-                                                 std_cxx1x::cref(v), _1, _2,
+                                                 std_cxx1x::cref(v), std_cxx1x::_1, std_cxx1x::_2,
                                                  std_cxx1x::ref(*this)),
                                  internal::Vector::minimum_parallel_grain_size);
   else if (vec_size > 0)
@@ -1225,7 +1225,7 @@ Vector<Number>::operator = (const Vector<Number2>& v)
     parallel::apply_to_subranges (0U, vec_size,
                                  std_cxx1x::bind(&internal::Vector::template
                                                  copy_subrange_ext<Number2,Number>,
-                                                 std_cxx1x::cref(v), _1, _2,
+                                                 std_cxx1x::cref(v), std_cxx1x::_1, std_cxx1x::_2,
                                                  std_cxx1x::ref(*this)),
                                  internal::Vector::minimum_parallel_grain_size);
   else if (vec_size > 0)
index 1552c8ebfb2ce27f32391f3e47c970c15c0fac57..35e143e1af28f91d8151ffc15760b2871a1e9835 100644 (file)
@@ -262,9 +262,10 @@ namespace MeshWorker
                                     // Loop over all cells
 #ifdef DEAL_II_MESHWORKER_PARALLEL
     WorkStream::run(begin, end,
-                   std_cxx1x::bind(&cell_action<INFOBOX, DOFINFO, dim, spacedim, ITERATOR>, _1, _3, _2,
+                   std_cxx1x::bind(&cell_action<INFOBOX, DOFINFO, dim, spacedim, ITERATOR>, 
+                                   std_cxx1x::_1, std_cxx1x::_3, std_cxx1x::_2,
                                    cell_worker, boundary_worker, face_worker, cells_first, true),
-                   std_cxx1x::bind(&internal::assemble<dim,DOFINFO,ASSEMBLER>, _1, &assembler),
+                   std_cxx1x::bind(&internal::assemble<dim,DOFINFO,ASSEMBLER>, std_cxx1x::_1, &assembler),
                    info, dof_info);
 #else
     for (ITERATOR cell = begin; cell != end; ++cell)
index 415244dc6c6fb3587511a29784c4f287bf0a1553..d1253a3fdb73a9f0c09e2186d9d4e2cccc74a501 100644 (file)
@@ -109,9 +109,9 @@ namespace parallel
                                     (get_data_size() * input_vectors.size()),
                                     std_cxx1x::bind(&SolutionTransfer<dim, VECTOR, DH>::pack_callback,
                                                     ptr,
-                                                    _1,
-                                                    _2,
-                                                    _3));
+                                                    std_cxx1x::_1,
+                                                    std_cxx1x::_2,
+                                                    std_cxx1x::_3));
     }
 
 
@@ -145,9 +145,9 @@ namespace parallel
       tria->notify_ready_to_unpack(offset,
                                   std_cxx1x::bind(&SolutionTransfer<dim, VECTOR, DH>::unpack_callback,
                                                   this,
-                                                  _1,
-                                                  _2,
-                                                  _3,
+                                                  std_cxx1x::_1,
+                                                  std_cxx1x::_2,
+                                                  std_cxx1x::_3,
                                                   std_cxx1x::ref(all_out)));
 
       for (typename std::vector<VECTOR*>::iterator it=all_out.begin();
index ee56350de5bd8a7b08eca59578afbf9ff43886dc..7ddccfe5d00c9715e6f801ea197f8d3ac3bb4985 100644 (file)
@@ -1097,10 +1097,10 @@ void DataOut<dim,DH>::build_patches (const Mapping<DH::dimension,DH::space_dimen
   WorkStream::run (&all_cells[0],
                   &all_cells[0]+all_cells.size(),
                   std_cxx1x::bind(&DataOut<dim,DH>::build_one_patch,
-                                  *this, _1, _2, _3,
+                                  *this, std_cxx1x::_1, std_cxx1x::_2, std_cxx1x::_3,
                                   curved_cell_region),
                   std_cxx1x::bind(&internal::DataOut::append_patch_to_list<dim,DH::space_dimension>,
-                                  _1, std_cxx1x::ref(this->patches)),
+                                  std_cxx1x::_1, std_cxx1x::ref(this->patches)),
                   thread_data,
                   sample_patch);
 }
index 10f52da6e432582870efc9b53557932b98533a72..56e49aeafdfd08e1c13b0597c3794c4e902eead9 100644 (file)
@@ -363,10 +363,10 @@ void DataOutFaces<dim,DH>::build_patches (const Mapping<DH::dimension> &mapping,
   WorkStream::run (&all_faces[0],
                   &all_faces[0]+all_faces.size(),
                   std_cxx1x::bind(&DataOutFaces<dim,DH>::build_one_patch,
-                                  *this, _1, _2, _3),
+                                  *this, std_cxx1x::_1, std_cxx1x::_2, std_cxx1x::_3),
                   std_cxx1x::bind(&internal::DataOutFaces::
                                   append_patch_to_list<dim,DH::space_dimension>,
-                                  _1, std_cxx1x::ref(this->patches)),
+                                  std_cxx1x::_1, std_cxx1x::ref(this->patches)),
                   thread_data,
                   sample_patch);
 }
index b381adcd5bf1820943c4e733db5baf96bc2423bd..a9523cc64e88625cb7b8a3b374294b0a90e04434 100644 (file)
@@ -504,10 +504,10 @@ void DataOutRotation<dim,DH>::build_patches (const unsigned int n_patches_per_ci
   WorkStream::run (&all_cells[0],
                   &all_cells[0]+all_cells.size(),
                   std_cxx1x::bind(&DataOutRotation<dim,DH>::build_one_patch,
-                                  *this, _1, _2, _3),
+                                  *this, std_cxx1x::_1, std_cxx1x::_2, std_cxx1x::_3),
                   std_cxx1x::bind(&internal::DataOutRotation
                                   ::append_patch_to_list<dim,DH::space_dimension>,
-                                  _1, std_cxx1x::ref(this->patches)),
+                                  std_cxx1x::_1, std_cxx1x::ref(this->patches)),
                   thread_data,
                   new_patches);
 }
index 6116ea31a82177850c316fbd9dd035e90eceecfd..9c12d2fa5d00de1aa808fbc72807de0904d88b08 100644 (file)
@@ -1636,9 +1636,9 @@ estimate (const Mapping<dim, spacedim>                  &mapping,
   WorkStream::run (dof_handler.begin_active(),
                   static_cast<typename DH::active_cell_iterator>(dof_handler.end()),
                   std_cxx1x::bind (&internal::estimate_one_cell<dim,spacedim,InputVector,DH>,
-                                   _1, _2, _3, std_cxx1x::ref(solutions)),
+                                   std_cxx1x::_1, std_cxx1x::_2, std_cxx1x::_3, std_cxx1x::ref(solutions)),
                   std_cxx1x::bind (&internal::copy_local_to_global<DH>,
-                                   _1, std_cxx1x::ref(face_integrals)),
+                                   std_cxx1x::_1, std_cxx1x::ref(face_integrals)),
                   parallel_data,
                   sample_local_face_integrals);
 
index 0ec2f2092e6931d5570ffa8f4dcfbb0a17030091..3b5c5d07610da05fd10bc4899ba7ce14851bb6f6 100644 (file)
@@ -611,7 +611,7 @@ void MatrixCreator::create_mass_matrix (const Mapping<dim,spacedim>       &mappi
                   &internal::MatrixCreator::mass_assembler<dim, spacedim, typename DoFHandler<dim,spacedim>::active_cell_iterator>,
                   std_cxx1x::bind (&internal::MatrixCreator::
                                    copy_local_to_global<SparseMatrix<number>, Vector<double> >,
-                                   _1, &matrix, (Vector<double>*)0),
+                                   std_cxx1x::_1, &matrix, (Vector<double>*)0),
                   assembler_data,
                   copy_data);
 }
@@ -662,7 +662,7 @@ void MatrixCreator::create_mass_matrix (const Mapping<dim,spacedim>       &mappi
                   &internal::MatrixCreator::mass_assembler<dim, spacedim, typename DoFHandler<dim,spacedim>::active_cell_iterator>,
                   std_cxx1x::bind(&internal::MatrixCreator::
                                   copy_local_to_global<SparseMatrix<number>, Vector<double> >,
-                                  _1, &matrix, &rhs_vector),
+                                  std_cxx1x::_1, &matrix, &rhs_vector),
                   assembler_data,
                   copy_data);
 }
@@ -713,7 +713,7 @@ void MatrixCreator::create_mass_matrix (const hp::MappingCollection<dim,spacedim
                   &internal::MatrixCreator::mass_assembler<dim, spacedim, typename hp::DoFHandler<dim,spacedim>::active_cell_iterator>,
                   std_cxx1x::bind (&internal::MatrixCreator::
                                    copy_local_to_global<SparseMatrix<number>, Vector<double> >,
-                                   _1, &matrix, (Vector<double>*)0),
+                                   std_cxx1x::_1, &matrix, (Vector<double>*)0),
                   assembler_data,
                   copy_data);
 }
@@ -763,7 +763,7 @@ void MatrixCreator::create_mass_matrix (const hp::MappingCollection<dim,spacedim
                   &internal::MatrixCreator::mass_assembler<dim, spacedim, typename hp::DoFHandler<dim,spacedim>::active_cell_iterator>,
                   std_cxx1x::bind (&internal::MatrixCreator::
                                    copy_local_to_global<SparseMatrix<number>, Vector<double> >,
-                                   _1, &matrix, &rhs_vector),
+                                   std_cxx1x::_1, &matrix, &rhs_vector),
                   assembler_data,
                   copy_data);
 }
@@ -1686,7 +1686,7 @@ void MatrixCreator::create_laplace_matrix (const Mapping<dim, spacedim>       &m
                   static_cast<typename DoFHandler<dim,spacedim>::active_cell_iterator>(dof.end()),
                   &internal::MatrixCreator::laplace_assembler<dim, spacedim, typename DoFHandler<dim,spacedim>::active_cell_iterator>,
                   std_cxx1x::bind (copy_local_to_global,
-                                   _1, &matrix, (Vector<double>*)0),
+                                   std_cxx1x::_1, &matrix, (Vector<double>*)0),
                   assembler_data,
                   copy_data);
 }
@@ -1741,7 +1741,7 @@ void MatrixCreator::create_laplace_matrix (const Mapping<dim, spacedim>       &m
                   static_cast<typename DoFHandler<dim,spacedim>::active_cell_iterator>(dof.end()),
                   &internal::MatrixCreator::laplace_assembler<dim, spacedim, typename DoFHandler<dim,spacedim>::active_cell_iterator>,
                   std_cxx1x::bind (copy_local_to_global,
-                                   _1, &matrix, &rhs_vector),
+                                   std_cxx1x::_1, &matrix, &rhs_vector),
                   assembler_data,
                   copy_data);
 }
@@ -1797,7 +1797,7 @@ void MatrixCreator::create_laplace_matrix (const hp::MappingCollection<dim,space
                   static_cast<typename hp::DoFHandler<dim,spacedim>::active_cell_iterator>(dof.end()),
                   &internal::MatrixCreator::laplace_assembler<dim, spacedim, typename hp::DoFHandler<dim,spacedim>::active_cell_iterator>,
                   std_cxx1x::bind (copy_local_to_global,
-                                   _1, &matrix, (Vector<double>*)0),
+                                   std_cxx1x::_1, &matrix, (Vector<double>*)0),
                   assembler_data,
                   copy_data);
 }
@@ -1852,7 +1852,7 @@ void MatrixCreator::create_laplace_matrix (const hp::MappingCollection<dim,space
                   static_cast<typename hp::DoFHandler<dim,spacedim>::active_cell_iterator>(dof.end()),
                   &internal::MatrixCreator::laplace_assembler<dim, spacedim, typename hp::DoFHandler<dim,spacedim>::active_cell_iterator>,
                   std_cxx1x::bind (copy_local_to_global,
-                                   _1, &matrix, &rhs_vector),
+                                   std_cxx1x::_1, &matrix, &rhs_vector),
                   assembler_data,
                   copy_data);
 }

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.