#include <communicator.h>
Public Member Functions | |
template<> | |
unsigned int | packed_size (std::vector< largest_id_type >::const_iterator in) |
template<> | |
unsigned int | packed_size (std::vector< largest_id_type >::iterator in) |
template<> | |
unsigned int | packable_size (const Elem *const &elem, const MeshBase *mesh) |
template<> | |
unsigned int | packable_size (const Elem *const &elem, const DistributedMesh *mesh) |
template<> | |
unsigned int | packable_size (const Elem *const &elem, const ParallelMesh *mesh) |
template<> | |
void | pack (const Elem *const &elem, std::back_insert_iterator< std::vector< largest_id_type >> data_out, const MeshBase *mesh) |
template<> | |
void | pack (const Elem *const &elem, std::back_insert_iterator< std::vector< largest_id_type >> data_out, const DistributedMesh *mesh) |
template<> | |
void | pack (const Elem *const &elem, std::back_insert_iterator< std::vector< largest_id_type >> data_out, const ParallelMesh *mesh) |
template<> | |
Elem * | unpack (std::vector< largest_id_type >::const_iterator in, MeshBase *mesh) |
template<> | |
Elem * | unpack (std::vector< largest_id_type >::const_iterator in, DistributedMesh *mesh) |
template<> | |
Elem * | unpack (std::vector< largest_id_type >::const_iterator in, ParallelMesh *mesh) |
template<> | |
unsigned int | packable_size (const Node *const &node, const MeshBase *mesh) |
template<> | |
unsigned int | packed_size (const std::vector< largest_id_type >::const_iterator in) |
template<> | |
unsigned int | packed_size (const std::vector< largest_id_type >::iterator in) |
template<> | |
unsigned int | packable_size (const Node *const &node, const DistributedMesh *mesh) |
template<> | |
unsigned int | packable_size (const Node *const &node, const ParallelMesh *mesh) |
template<> | |
void | pack (const Node *const &node, std::back_insert_iterator< std::vector< largest_id_type >> data_out, const MeshBase *mesh) |
template<> | |
void | pack (const Node *const &node, std::back_insert_iterator< std::vector< largest_id_type >> data_out, const DistributedMesh *mesh) |
template<> | |
void | pack (const Node *const &node, std::back_insert_iterator< std::vector< largest_id_type >> data_out, const ParallelMesh *mesh) |
template<> | |
Node * | unpack (std::vector< largest_id_type >::const_iterator in, MeshBase *mesh) |
template<> | |
Node * | unpack (std::vector< largest_id_type >::const_iterator in, DistributedMesh *mesh) |
template<> | |
Node * | unpack (std::vector< largest_id_type >::const_iterator in, ParallelMesh *mesh) |
template<typename BufferIter , typename Context > | |
const Elem * | unpack (BufferIter in, Context *ctx) |
template<typename BufferIter , typename Context > | |
const Node * | unpack (BufferIter in, Context *ctx) |
Static Public Member Functions | |
template<typename OutputIter , typename Context > | |
static void | pack (const T &object, OutputIter data_out, const Context *context) |
template<typename Context > | |
static unsigned int | packable_size (const T &object, const Context *context) |
template<typename BufferIter > | |
static unsigned int | packed_size (BufferIter iter) |
template<typename BufferIter , typename Context > | |
static T | unpack (BufferIter in, Context *ctx) |
Define data types and (un)serialization functions for use when encoding a potentially-variable-size object of type T.
Users will need to specialize this class for their particular data types.
Definition at line 57 of file communicator.h.
|
static |
void libMesh::Parallel::Packing< const Node * >::pack | ( | const Node *const & | node, |
std::back_insert_iterator< std::vector< largest_id_type >> | data_out, | ||
const MeshBase * | mesh | ||
) |
Definition at line 134 of file parallel_node.C.
References libMesh::BoundaryInfo::boundary_ids(), libMesh::MeshBase::get_boundary_info(), libMesh::DofObject::id(), libMesh::DofObject::invalid_unique_id, std::max(), mesh, libMesh::DofObject::pack_indexing(), libMesh::DofObject::processor_id(), libMesh::Real, libMesh::DofObject::unique_id(), and libMesh::DofObject::valid_unique_id().
void libMesh::Parallel::Packing< const Node * >::pack | ( | const Node *const & | node, |
std::back_insert_iterator< std::vector< largest_id_type >> | data_out, | ||
const DistributedMesh * | mesh | ||
) |
Definition at line 189 of file parallel_node.C.
References mesh, and libMesh::Parallel::Packing< T >::pack().
void libMesh::Parallel::Packing< const Node * >::pack | ( | const Node *const & | node, |
std::back_insert_iterator< std::vector< largest_id_type >> | data_out, | ||
const ParallelMesh * | mesh | ||
) |
Definition at line 201 of file parallel_node.C.
References mesh, and libMesh::Parallel::Packing< T >::pack().
void libMesh::Parallel::Packing< const Elem * >::pack | ( | const Elem *const & | elem, |
std::back_insert_iterator< std::vector< largest_id_type >> | data_out, | ||
const MeshBase * | mesh | ||
) |
Definition at line 205 of file parallel_elem.C.
References libMesh::BoundaryInfo::boundary_ids(), libMesh::Elem::dim(), libMesh::BoundaryInfo::edge_boundary_ids(), libMesh::Elem::edge_index_range(), libMesh::MeshBase::get_boundary_info(), libMesh::Elem::has_children(), libMesh::DofObject::id(), libMesh::Elem::interior_parent(), libMesh::DofObject::invalid_id, libMesh::Elem::INVALID_REFINEMENTSTATE, libMesh::DofObject::invalid_unique_id, libMesh::Elem::level(), mesh, libMesh::Elem::n_nodes(), libMesh::Elem::neighbor_ptr_range(), libMesh::Elem::node_id(), libMesh::Elem::p_level(), libMesh::Elem::p_refinement_flag(), libMesh::DofObject::pack_indexing(), libMesh::Elem::parent(), libMesh::DofObject::processor_id(), libMesh::Elem::refinement_flag(), libMesh::BoundaryInfo::shellface_boundary_ids(), libMesh::Elem::side_index_range(), libMesh::Elem::subdomain_id(), libMesh::Elem::type(), libMesh::DofObject::unique_id(), libMesh::DofObject::valid_unique_id(), and libMesh::Elem::which_child_am_i().
void libMesh::Parallel::Packing< const Elem * >::pack | ( | const Elem *const & | elem, |
std::back_insert_iterator< std::vector< largest_id_type >> | data_out, | ||
const DistributedMesh * | mesh | ||
) |
Definition at line 329 of file parallel_elem.C.
References mesh, and libMesh::Parallel::Packing< T >::pack().
void libMesh::Parallel::Packing< const Elem * >::pack | ( | const Elem *const & | elem, |
std::back_insert_iterator< std::vector< largest_id_type >> | data_out, | ||
const ParallelMesh * | mesh | ||
) |
Definition at line 341 of file parallel_elem.C.
References mesh, and libMesh::Parallel::Packing< T >::pack().
|
static |
unsigned int libMesh::Parallel::Packing< const Node * >::packable_size | ( | const Node *const & | node, |
const MeshBase * | mesh | ||
) |
Definition at line 62 of file parallel_node.C.
References libMesh::MeshBase::get_boundary_info(), mesh, libMesh::BoundaryInfo::n_boundary_ids(), and libMesh::DofObject::packed_indexing_size().
unsigned int libMesh::Parallel::Packing< const Node * >::packable_size | ( | const Node *const & | node, |
const DistributedMesh * | mesh | ||
) |
Definition at line 112 of file parallel_node.C.
References mesh, and libMesh::Parallel::Packing< T >::packable_size().
unsigned int libMesh::Parallel::Packing< const Node * >::packable_size | ( | const Node *const & | node, |
const ParallelMesh * | mesh | ||
) |
Definition at line 123 of file parallel_node.C.
References mesh, and libMesh::Parallel::Packing< T >::packable_size().
unsigned int libMesh::Parallel::Packing< const Elem * >::packable_size | ( | const Elem *const & | elem, |
const MeshBase * | mesh | ||
) |
Definition at line 145 of file parallel_elem.C.
References libMesh::MeshBase::get_boundary_info(), libMesh::Elem::level(), mesh, libMesh::BoundaryInfo::n_boundary_ids(), libMesh::BoundaryInfo::n_edge_boundary_ids(), libMesh::Elem::n_edges(), libMesh::Elem::n_nodes(), libMesh::BoundaryInfo::n_shellface_boundary_ids(), libMesh::Elem::n_sides(), and libMesh::DofObject::packed_indexing_size().
unsigned int libMesh::Parallel::Packing< const Elem * >::packable_size | ( | const Elem *const & | elem, |
const DistributedMesh * | mesh | ||
) |
Definition at line 183 of file parallel_elem.C.
References mesh, and libMesh::Parallel::Packing< T >::packable_size().
unsigned int libMesh::Parallel::Packing< const Elem * >::packable_size | ( | const Elem *const & | elem, |
const ParallelMesh * | mesh | ||
) |
Definition at line 194 of file parallel_elem.C.
References mesh, and libMesh::Parallel::Packing< T >::packable_size().
unsigned int libMesh::Parallel::Packing< const Elem * >::packed_size | ( | std::vector< largest_id_type >::const_iterator | in | ) |
Definition at line 59 of file parallel_elem.C.
References libMesh::INVALID_ELEM, n_nodes, libMesh::Elem::type_to_n_edges_map, libMesh::Elem::type_to_n_nodes_map, libMesh::Elem::type_to_n_sides_map, and libMesh::DofObject::unpackable_indexing_size().
|
static |
unsigned int libMesh::Parallel::Packing< const Node * >::packed_size | ( | const std::vector< largest_id_type >::const_iterator | in | ) |
Definition at line 79 of file parallel_node.C.
References libMesh::DofObject::unpackable_indexing_size().
unsigned int libMesh::Parallel::Packing< const Node * >::packed_size | ( | const std::vector< largest_id_type >::iterator | in | ) |
Definition at line 102 of file parallel_node.C.
References libMesh::Parallel::Packing< T >::packed_size().
unsigned int libMesh::Parallel::Packing< const Elem * >::packed_size | ( | std::vector< largest_id_type >::iterator | in | ) |
Definition at line 135 of file parallel_elem.C.
References libMesh::Parallel::Packing< T >::packed_size().
|
static |
Referenced by libMesh::Parallel::Packing< T >::unpack(), and libMesh::Parallel::unpack_range().
|
inline |
Definition at line 84 of file parallel_elem.h.
References libMesh::Parallel::Packing< T >::unpack().
|
inline |
Definition at line 84 of file parallel_node.h.
References libMesh::Parallel::Packing< T >::unpack().
Node * libMesh::Parallel::Packing< Node * >::unpack | ( | std::vector< largest_id_type >::const_iterator | in, |
MeshBase * | mesh | ||
) |
Definition at line 213 of file parallel_node.C.
References libMesh::BoundaryInfo::add_node(), libMesh::MeshBase::get_boundary_info(), libMesh::DofObject::invalid_processor_id, std::max(), mesh, libMesh::ParallelObject::processor_id(), libMesh::MeshBase::query_node_ptr(), libMesh::Real, libMesh::TOLERANCE, and libMesh::DofObject::unpackable_indexing_size().
Node * libMesh::Parallel::Packing< Node * >::unpack | ( | std::vector< largest_id_type >::const_iterator | in, |
DistributedMesh * | mesh | ||
) |
Definition at line 320 of file parallel_node.C.
References mesh, and libMesh::Parallel::Packing< T >::unpack().
Node * libMesh::Parallel::Packing< Node * >::unpack | ( | std::vector< largest_id_type >::const_iterator | in, |
ParallelMesh * | mesh | ||
) |
Definition at line 331 of file parallel_node.C.
References mesh, and libMesh::Parallel::Packing< T >::unpack().
Elem * libMesh::Parallel::Packing< Elem * >::unpack | ( | std::vector< largest_id_type >::const_iterator | in, |
MeshBase * | mesh | ||
) |
Definition at line 354 of file parallel_elem.C.
References libMesh::Elem::active(), libMesh::Elem::add_child(), libMesh::BoundaryInfo::add_edge(), libMesh::BoundaryInfo::add_shellface(), libMesh::BoundaryInfo::add_side(), libMesh::Elem::build(), libMesh::Elem::child_ptr(), libMesh::Elem::dim(), libMesh::Elem::edge_index_range(), libMesh::MeshBase::elem_ptr(), libMesh::MeshBase::get_boundary_info(), libMesh::Elem::hack_p_level(), libMesh::Elem::has_children(), libMesh::DofObject::id(), libMesh::Elem::interior_parent(), libMesh::INVALID_ELEM, libMesh::DofObject::invalid_id, libMesh::DofObject::invalid_processor_id, libMesh::Elem::INVALID_REFINEMENTSTATE, libMesh::Elem::level(), libMesh::Elem::make_links_to_me_local(), mesh, libMesh::Elem::n_children(), n_nodes, libMesh::Elem::n_nodes(), libMesh::Elem::neighbor_ptr(), libMesh::Elem::node_id(), libMesh::MeshBase::node_ptr(), libMesh::Elem::p_level(), libMesh::Elem::p_refinement_flag(), libMesh::DofObject::packed_indexing_size(), libMesh::Elem::parent(), libMesh::ParallelObject::processor_id(), libMesh::DofObject::processor_id(), libMesh::MeshBase::query_elem_ptr(), libMesh::Elem::refinement_flag(), libMesh::remote_elem, libMesh::DofObject::set_id(), libMesh::Elem::set_interior_parent(), libMesh::Elem::set_neighbor(), libMesh::Elem::set_node(), libMesh::Elem::set_p_level(), libMesh::Elem::set_p_refinement_flag(), libMesh::Elem::set_refinement_flag(), libMesh::DofObject::set_unique_id(), libMesh::Elem::side_index_range(), libMesh::Elem::subactive(), libMesh::Elem::subdomain_id(), libMesh::Elem::type(), libMesh::Elem::type_to_n_nodes_map, and libMesh::DofObject::unpack_indexing().
Elem * libMesh::Parallel::Packing< Elem * >::unpack | ( | std::vector< largest_id_type >::const_iterator | in, |
DistributedMesh * | mesh | ||
) |
Definition at line 808 of file parallel_elem.C.
References mesh, and libMesh::Parallel::Packing< T >::unpack().
Elem * libMesh::Parallel::Packing< Elem * >::unpack | ( | std::vector< largest_id_type >::const_iterator | in, |
ParallelMesh * | mesh | ||
) |
Definition at line 819 of file parallel_elem.C.
References mesh, and libMesh::Parallel::Packing< T >::unpack().