naming_base¶
The contents of this module can be included with the header
hpx/modules/naming_base.hpp
. These headers may be used by user-code but are not
guaranteed stable (neither header location nor contents). You are using these at
your own risk. If you wish to use non-public functionality from a module we
strongly suggest only including the module header hpx/modules/naming_base.hpp
, not
the particular header in which the functionality you would like to use is
defined. See Public API for a list of names that are part of the public
HPX API.
Defines
-
HPX_ADDRESS_VERSION
¶
-
namespace
hpx
-
namespace
naming
-
struct
address
¶ Public Types
-
using
component_type
= naming::component_type¶
-
using
address_type
= naming::address_type¶
Public Functions
-
constexpr
address
()¶
-
constexpr
address
(gid_type const &l, component_type t = component_invalid)¶
-
address
(gid_type const &l, component_type t, void *lva)¶
-
constexpr
address
(gid_type const &l, component_type t, address_type a)¶
-
address
(void *lva, component_type t = component_invalid)¶
-
constexpr
address
(address_type a)¶
-
constexpr
operator bool
() const¶
Public Static Attributes
-
constexpr const component_type
component_invalid
= -1¶
Private Functions
-
HPX_SERIALIZATION_SPLIT_MEMBER
()¶
Friends
-
friend
hpx::naming::hpx::serialization::access
address (local virtual address)
-
friend constexpr bool
operator==
(address const &lhs, address const &rhs)¶
-
using
-
struct
-
namespace
Defines
-
HPX_GIDTYPE_VERSION
¶
-
namespace
hpx
-
namespace
naming
Functions
-
void
save
(serialization::output_archive &ar, gid_type const&, unsigned int)¶
-
void
load
(serialization::input_archive &ar, gid_type&, unsigned int version)¶
Variables
-
HPX_INLINE_CONSTEXPR_VARIABLE const gid_type hpx::naming::invalid_gid = {}
-
struct
gid_type
¶ - #include <gid_type.hpp>
Global identifier for components across the HPX system.
Subclassed by hpx::naming::detail::id_type_impl
Public Types
Public Functions
-
constexpr
gid_type
()¶
-
~gid_type
()¶
-
constexpr
operator bool
() const¶
-
void
set_lsb
(void *lsb)¶
-
void
lock
()¶
-
bool
try_lock
()¶
-
void
unlock
()¶
-
mutex_type &
get_mutex
() const¶
Public Static Attributes
-
constexpr std::uint64_t
credit_mask
= credit_base_mask << credit_shift¶
-
constexpr std::uint64_t
component_type_mask
= component_type_base_mask << component_type_shift¶
-
constexpr std::uint64_t
credit_bits_mask
= credit_mask | was_split_mask | has_credits_mask¶
-
constexpr std::uint64_t
internal_bits_mask
= credit_bits_mask | is_locked_mask | dont_cache_mask | is_migratable¶
-
constexpr std::uint64_t
special_bits_mask
= locality_id_mask | internal_bits_mask | component_type_mask¶
Friends
-
gid_type
operator+
(gid_type const &lhs, gid_type const &rhs)¶
-
gid_type
operator-
(gid_type const &lhs, gid_type const &rhs)¶
-
bool
operator==
(gid_type const &lhs, gid_type const &rhs)¶
-
bool
operator!=
(gid_type const &lhs, gid_type const &rhs)¶
-
bool
operator<
(gid_type const &lhs, gid_type const &rhs)¶
-
bool
operator>=
(gid_type const &lhs, gid_type const &rhs)¶
-
bool
operator<=
(gid_type const &lhs, gid_type const &rhs)¶
-
bool
operator>
(gid_type const &lhs, gid_type const &rhs)¶
-
void
save
(serialization::output_archive &ar, gid_type const&, unsigned int)¶
-
void
load
(serialization::input_archive &ar, gid_type&, unsigned int version)¶
-
constexpr
-
void
-
namespace
-
namespace
hpx
-
namespace
naming
Functions
-
struct
id_type
¶ Public Types
Public Functions
-
constexpr
id_type
()¶
-
id_type
(std::uint64_t lsb_id, management_type t)¶
-
id_type
(gid_type const &gid, management_type t)¶
-
id_type
(std::uint64_t msb_id, std::uint64_t lsb_id, management_type t)¶
-
operator bool
() const¶
-
void
set_lsb
(void *lsb)¶
-
void
make_unmanaged
() const¶
Friends
-
bool
operator==
(id_type const &lhs, id_type const &rhs)¶
-
bool
operator!=
(id_type const &lhs, id_type const &rhs)¶
-
bool
operator<
(id_type const &lhs, id_type const &rhs)¶
-
bool
operator<=
(id_type const &lhs, id_type const &rhs)¶
-
bool
operator>
(id_type const &lhs, id_type const &rhs)¶
-
bool
operator>=
(id_type const &lhs, id_type const &rhs)¶
-
constexpr
-
struct
-
namespace
traits
-
namespace
-
namespace
hpx
-
namespace
naming
-
Variables
-
HPX_INLINE_CONSTEXPR_VARIABLE std::uint32_t hpx::naming::invalid_locality_id= ~static_cast<std::uint32_t>(0)
-
HPX_INLINE_CONSTEXPR_VARIABLE std::int32_t hpx::naming::component_invalid = -1
-
-
namespace
-
namespace
hpx
-
namespace
naming
Functions
-
id_type
unmanaged
(id_type const &id) The helper function hpx::unmanaged can be used to generate a global identifier which does not participate in the automatic garbage collection.
- Return
This function returns a new global id referencing the same object as the parameter id. The only difference is that the returned global identifier does not participate in the automatic garbage collection.
- Note
This function allows to apply certain optimizations to the process of memory management in HPX. It however requires the user to take full responsibility for keeping the referenced objects alive long enough.
- Parameters
id
: [in] The id to generated the unmanaged global id from This parameter can be itself a managed or a unmanaged global id.
-
id_type
-
namespace