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

namespace hpx
namespace parcelset


using endpoints_type = std::map<std::string, locality>


std::ostream &operator<<(std::ostream &os, endpoints_type const &endpoints)
class locality

Public Functions

template<typename Impl, typename Enable1 = std::enable_if_t<!std::is_same_v<locality, std::decay_t<Impl>>>, typename Enable2 = std::enable_if_t<!traits::is_iterator_v<Impl>>>
locality(Impl &&i)
locality(locality const &other)
locality(locality &&other)
locality &operator=(locality const &other)
locality &operator=(locality &&other)
operator bool() const
char const *type() const
template<typename Impl>
Impl &get()
template<typename Impl>
Impl const &get() const

Private Functions

void save(serialization::output_archive &ar, const unsigned int version) const
void load(serialization::input_archive &ar, const unsigned int version)

Private Members

std::unique_ptr<impl_base> impl_


friend hpx::parcelset::hpx::serialization::access
bool operator==(locality const &lhs, locality const &rhs)
bool operator!=(locality const &lhs, locality const &rhs)
bool operator<(locality const &lhs, locality const &rhs)
bool operator>(locality const &lhs, locality const &rhs)
std::ostream &operator<<(std::ostream &os, locality const &l)
template<typename Impl>
class impl

Public Functions

impl(Impl &&i)
impl(Impl const &i)
bool equal(impl_base const &rhs) const
bool less_than(impl_base const &rhs) const
bool valid() const
const char *type() const
std::ostream &print(std::ostream &os) const
void save(serialization::output_archive &ar) const
void load(serialization::input_archive &ar)
impl_base *clone() const
impl_base *move()

Public Members

Impl impl_
class impl_base

Public Functions

virtual ~impl_base()
virtual bool equal(impl_base const &rhs) const = 0
virtual bool less_than(impl_base const &rhs) const = 0
virtual bool valid() const = 0
virtual const char *type() const = 0
virtual std::ostream &print(std::ostream &os) const = 0
virtual void save(serialization::output_archive &ar) const = 0
virtual void load(serialization::input_archive &ar) = 0
virtual impl_base *clone() const = 0
virtual impl_base *move() = 0
template<typename Impl>
Impl &get()
template<typename Impl>
Impl const &get() const
namespace hpx
namespace parcelset


using parcel_write_handler_type = hpx::function<void(std::error_code const&, parcelset::parcel const&)>

The type of a function that can be registered as a parcel write handler using the function hpx::set_parcel_write_handler.


A parcel write handler is a function which is called by the parcel layer whenever a parcel has been sent by the underlying networking library and if no explicit parcel handler function was specified for the parcel.


enum parcelport_background_mode

Type of background work to perform.


parcelport_background_mode_flush_buffers = 0x01

perform buffer flush operations

parcelport_background_mode_send = 0x03

perform send operations (includes buffer flush)

parcelport_background_mode_receive = 0x04

perform receive operations

parcelport_background_mode_all = 0x07

perform all operations