16#ifndef dealii_distributed_cell_data_transfer_h
17#define dealii_distributed_cell_data_transfer_h
27#include <boost/range/iterator_range.hpp>
126 template <
int dim,
int spacedim = dim,
typename VectorType = Vector<
double>>
155 const std::function<std::vector<value_type>(
156 const typename ::Triangulation<dim, spacedim>::cell_iterator
159 &::AdaptationStrategies::Refinement::
188 const std::vector<const VectorType *> &all_in);
220 unpack(std::vector<VectorType *> &all_out);
252 const std::function<std::vector<value_type>(
263 const std::vector<value_type> &children_values)>
293 const typename
parallel::distributed::
307 const
boost::iterator_range<
std::vector<char>::const_iterator>
309 std::vector<VectorType *> &all_out);
void unpack(VectorType &out)
void prepare_for_serialization(const VectorType &in)
void prepare_for_serialization(const std::vector< const VectorType * > &all_in)
SmartPointer< const parallel::distributed::Triangulation< dim, spacedim >, CellDataTransfer< dim, spacedim, VectorType > > triangulation
void unpack(std::vector< VectorType * > &all_out)
void prepare_for_coarsening_and_refinement(const VectorType &in)
void deserialize(VectorType &out)
CellDataTransfer(const parallel::distributed::Triangulation< dim, spacedim > &triangulation, const bool transfer_variable_size_data=false, const std::function< std::vector< value_type >(const typename ::Triangulation< dim, spacedim >::cell_iterator &parent, const value_type parent_value)> refinement_strategy=&::AdaptationStrategies::Refinement::preserve< dim, spacedim, value_type >, const std::function< value_type(const typename ::Triangulation< dim, spacedim >::cell_iterator &parent, const std::vector< value_type > &children_values)> coarsening_strategy=&::AdaptationStrategies::Coarsening::check_equality< dim, spacedim, value_type >)
void deserialize(std::vector< VectorType * > &all_out)
void register_data_attach()
void prepare_for_coarsening_and_refinement(const std::vector< const VectorType * > &all_in)
const std::function< value_type(const typename Triangulation< dim, spacedim >::cell_iterator &parent, const std::vector< value_type > &children_values)> coarsening_strategy
const std::function< std::vector< value_type >(const typename Triangulation< dim, spacedim >::cell_iterator &parent, const value_type parent_value)> refinement_strategy
const bool transfer_variable_size_data
std::vector< char > pack_callback(const typename parallel::distributed::Triangulation< dim, spacedim >::cell_iterator &cell, const typename parallel::distributed::Triangulation< dim, spacedim >::CellStatus status)
std::vector< const VectorType * > input_vectors
void unpack_callback(const typename parallel::distributed::Triangulation< dim, spacedim >::cell_iterator &cell, const typename parallel::distributed::Triangulation< dim, spacedim >::CellStatus status, const boost::iterator_range< std::vector< char >::const_iterator > &data_range, std::vector< VectorType * > &all_out)
typename VectorType::value_type value_type
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
typename ::Triangulation< dim, spacedim >::cell_iterator cell_iterator