hpx/serialization/serialization_chunk.hpp#

Defined in header hpx/serialization/serialization_chunk.hpp.

See Public API for a list of names and headers that are part of the public HPX API.

namespace hpx
namespace serialization

Enums

enum class chunk_type : std::uint8_t#

Values:

enumerator chunk_type_index#
enumerator chunk_type_const_pointer#
enumerator chunk_type_pointer#

Functions

constexpr serialization_chunk create_index_chunk(std::size_t index, std::size_t size) noexcept#
constexpr serialization_chunk create_const_pointer_chunk(void const *pos, std::size_t size) noexcept#

Zero-copy chunk referring to immutable caller-owned memory (save path). Parcelports must treat this like chunk_type_pointer for transmission.

constexpr serialization_chunk create_pointer_chunk(void *pos, std::size_t size) noexcept#

Zero-copy chunk referring to mutable memory (typically receive path).

constexpr serialization_chunk create_pointer_chunk(void const *pos, std::size_t size) noexcept#

Backward-compatible overload for const storage; same as create_const_pointer_chunk.

constexpr serialization_chunk create_pointer_chunk(std::nullptr_t, std::size_t size) noexcept#

Create a mutable-pointer chunk with a null address.

union chunk_data#

Public Members

std::size_t index_#
void const *cpos_#
void *pos_#
struct serialization_chunk#

Public Functions

inline constexpr void const *data() const noexcept#

Active union member depends on type_: use this for both pointer kinds (mutable storage is returned as void const*).

inline constexpr void *data() noexcept#

Mutable view; only valid for chunk_type_pointer chunks.

inline constexpr std::size_t size() const noexcept#

Public Members

chunk_data data_#
std::size_t size_#
chunk_type type_#