</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>
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
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.
// <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
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,
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 |
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::
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),
// 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
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);
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
#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
{
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
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
#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
{
#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
{
#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
{
#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
{
#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
{
#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
{
{
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));
}
/**
{
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));
}
{
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));
}
/**
{
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));
}
{
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));
}
/**
{
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));
}
{
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));
}
/**
{
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));
}
{
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));
}
/**
{
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));
}
{
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));
}
/**
{
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));
}
{
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));
}
/**
{
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));
}
{
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));
}
/**
{
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));
}
{
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));
}
/**
{
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));
}
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,
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,
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,
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(),
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)),
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),
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);
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)
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)
// 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)
(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));
}
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();
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);
}
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);
}
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);
}
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);
&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);
}
&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);
}
&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);
}
&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);
}
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);
}
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);
}
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);
}
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);
}