MPIPacker.hpp
Go to the documentation of this file.
69 throw std::invalid_argument("packSize will be larger than max integer - this is not supported.");
132 MPI_Unpack(buffer.data()+position, mpi_buffer_size(buffer.size(), position), &int_position, data, n,
166 static void pack(const std::bitset<Size>&, std::vector<char>&, std::size_t&, Opm::Parallel::MPIComm);
std::size_t mpi_buffer_size(const std::size_t bufsize, const std::size_t position) Definition: MPIPacker.hpp:33 Dune::Communication< MPIComm > Communication Definition: ParallelCommunication.hpp:30 typename Dune::MPIHelper::MPICommunicator MPIComm Definition: ParallelCommunication.hpp:29 TYPE getType(const TABLE &table) Struct handling packing of serialization for MPI communication. Definition: MPIPacker.hpp:189 Packer(Parallel::Communication comm) Constructor. Definition: MPIPacker.hpp:192 void unpack(T &data, const std::vector< char > &buffer, std::size_t &position) const Unpack a variable. Definition: MPIPacker.hpp:251 void pack(const T *data, std::size_t n, std::vector< char > &buffer, std::size_t &position) const Pack an array. Definition: MPIPacker.hpp:236 void unpack(T *data, std::size_t n, const std::vector< char > &buffer, std::size_t &position) const Unpack an array. Definition: MPIPacker.hpp:265 std::size_t packSize(const T *data, std::size_t n) const Calculates the pack size for an array. Definition: MPIPacker.hpp:210 std::size_t packSize(const T &data) const Calculates the pack size for a variable. Definition: MPIPacker.hpp:200 void pack(const T &data, std::vector< char > &buffer, std::size_t &position) const Pack a variable. Definition: MPIPacker.hpp:222 static void pack(const T &, std::vector< char > &, std::size_t &, Parallel::MPIComm) Definition: MPIPacker.hpp:148 static std::size_t packSize(const T &, Parallel::MPIComm) Definition: MPIPacker.hpp:142 static void unpack(T &, const std::vector< char > &, std::size_t &, Parallel::MPIComm) Definition: MPIPacker.hpp:154 static void unpack(std::bitset< Size > &, const std::vector< char > &, std::size_t &, Opm::Parallel::MPIComm) static void pack(const std::bitset< Size > &, std::vector< char > &, std::size_t &, Opm::Parallel::MPIComm) static std::size_t packSize(const std::bitset< Size > &, Opm::Parallel::MPIComm) static void pack(const T *data, std::size_t n, std::vector< char > &buffer, std::size_t &position, Parallel::MPIComm comm) Pack an array of POD. Definition: MPIPacker.hpp:94 static void pack(const T &data, std::vector< char > &buffer, std::size_t &position, Parallel::MPIComm comm) Pack a POD. Definition: MPIPacker.hpp:80 static std::size_t packSize(const T *, std::size_t n, Parallel::MPIComm comm) Calculates the pack size for an array of POD. Definition: MPIPacker.hpp:64 static void unpack(T *data, std::size_t n, const std::vector< char > &buffer, std::size_t &position, Parallel::MPIComm comm) Unpack an array of POD. Definition: MPIPacker.hpp:125 static void unpack(T &data, const std::vector< char > &buffer, std::size_t &position, Parallel::MPIComm comm) Unpack a POD. Definition: MPIPacker.hpp:111 static std::size_t packSize(const T &data, Parallel::MPIComm comm) Calculates the pack size for a POD. Definition: MPIPacker.hpp:55 Abstract struct for packing which is (partially) specialized for specific types. Definition: MPIPacker.hpp:42 static std::size_t packSize(const T &, Parallel::MPIComm) static void pack(const T &, std::vector< char > &, std::size_t &, Parallel::MPIComm) static void unpack(T &, const std::vector< char > &, std::size_t &, Parallel::MPIComm) |