lcos_distributed¶
The contents of this module can be included with the header
hpx/modules/lcos_distributed.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/lcos_distributed.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.
Header hpx/distributed/channel.hpp¶
Header hpx/lcos_distributed/channel.hpp¶
-
namespace
hpx -
namespace
lcos -
template<typename
T>
classchannel: public components::client_base<channel<T>, lcos::server::channel<T>>¶ - #include <channel.hpp>
Public Types
-
typedef T
value_type¶
Public Functions
-
channel()¶
-
hpx::future<T>
get(launch::async_policy, std::size_t generation = default_generation) const¶
-
hpx::future<T>
get(std::size_t generation = default_generation) const¶
-
T
get(launch::sync_policy, std::size_t generation = default_generation, hpx::error_code &ec = hpx::throws) const¶
-
T
get(launch::sync_policy, hpx::error_code &ec, std::size_t generation = default_generation) const¶
-
template<typename
U, typenameU2= T>
std::enable_if<!std::is_void<U2>::value, bool>::typeset(launch::apply_policy, U val, std::size_t generation = default_generation)¶
-
template<typename
U, typenameU2= T>
std::enable_if<!std::is_void<U2>::value, hpx::future<void>>::typeset(launch::async_policy, U val, std::size_t generation = default_generation)¶
-
template<typename
U, typenameU2= T>
std::enable_if<!std::is_void<U2>::value>::typeset(launch::sync_policy, U val, std::size_t generation = default_generation)¶
-
template<typename
U, typenameU2= T>
std::enable_if<!std::is_void<U2>::value && !traits::is_launch_policy<U>::value>::typeset(U val, std::size_t generation = default_generation)¶
-
template<typename
U= T>
std::enable_if<std::is_void<U>::value, bool>::typeset(launch::apply_policy, std::size_t generation = default_generation)¶
-
template<typename
U= T>
std::enable_if<std::is_void<U>::value, hpx::future<void>>::typeset(launch::async_policy, std::size_t generation = default_generation)¶
-
template<typename
U= T>
std::enable_if<std::is_void<U>::value>::typeset(launch::sync_policy, std::size_t generation = default_generation)¶
-
template<typename
U= T>
std::enable_if<std::is_void<U>::value>::typeset(std::size_t generation = default_generation)¶
-
channel_iterator<T, channel<T>>
begin() const¶
-
channel_iterator<T, channel<T>>
end() const¶
-
channel_iterator<T, channel<T>>
rbegin() const¶
-
channel_iterator<T, channel<T>>
rend() const¶
Private Types
-
typedef components::client_base<channel<T>, lcos::server::channel<T>>
base_type¶
-
typedef T
-
template<typename
T, typenameChannel>
classchannel_iterator: public hpx::util::iterator_facade<channel_iterator<T, Channel>, T const, std::input_iterator_tag>¶ - #include <channel.hpp>
Private Types
Friends
-
friend
hpx::lcos::hpx::util::iterator_core_access
-
friend
-
template<typename
Channel>
classchannel_iterator<void, Channel> : public hpx::util::iterator_facade<channel_iterator<void, Channel>, util::unused_type const, std::input_iterator_tag>¶ - #include <channel.hpp>
Public Functions
-
channel_iterator()
-
channel_iterator(Channel const &c)
Private Types
-
typedef hpx::util::iterator_facade<channel_iterator<void, Channel>, util::unused_type const, std::input_iterator_tag>
base_type
Private Functions
-
bool
get_checked()¶
-
bool
equal(channel_iterator const &rhs) const
-
void
increment()
-
base_type::reference
dereference() const
Private Members
-
Channel const *
channel_
-
bool
data_
Friends
-
friend
hpx::lcos::hpx::util::iterator_core_access
-
-
template<typename
T>
classreceive_channel: public components::client_base<receive_channel<T>, lcos::server::channel<T>>¶ - #include <channel.hpp>
Public Types
-
typedef T
value_type¶
Public Functions
-
receive_channel()¶
-
receive_channel(channel<T> const &c)¶
-
hpx::future<T>
get(launch::async_policy, std::size_t generation = default_generation) const¶
-
hpx::future<T>
get(std::size_t generation = default_generation) const¶
-
T
get(launch::sync_policy, std::size_t generation = default_generation, hpx::error_code &ec = hpx::throws) const¶
-
T
get(launch::sync_policy, hpx::error_code &ec, std::size_t generation = default_generation) const¶
-
channel_iterator<T, channel<T>>
begin() const¶
-
channel_iterator<T, channel<T>>
end() const¶
-
channel_iterator<T, channel<T>>
rbegin() const¶
-
channel_iterator<T, channel<T>>
rend() const¶
Private Types
-
typedef components::client_base<receive_channel<T>, lcos::server::channel<T>>
base_type¶
-
typedef T
-
template<typename
T>
classsend_channel: public components::client_base<send_channel<T>, lcos::server::channel<T>>¶ - #include <channel.hpp>
Public Types
-
typedef T
value_type¶
Public Functions
-
send_channel()¶
-
send_channel(channel<T> const &c)¶
-
template<typename
U, typenameU2= T>
std::enable_if<!std::is_void<U2>::value, bool>::typeset(launch::apply_policy, U val, std::size_t generation = default_generation)¶
-
template<typename
U, typenameU2= T>
std::enable_if<!std::is_void<U2>::value, hpx::future<void>>::typeset(launch::async_policy, U val, std::size_t generation = default_generation)¶
-
template<typename
U, typenameU2= T>
std::enable_if<!std::is_void<U2>::value>::typeset(launch::sync_policy, U val, std::size_t generation = default_generation)¶
-
template<typename
U, typenameU2= T>
std::enable_if<!std::is_void<U2>::value && !traits::is_launch_policy<U>::value>::typeset(U val, std::size_t generation = default_generation)¶
-
template<typename
U= T>
std::enable_if<std::is_void<U>::value, bool>::typeset(launch::apply_policy, std::size_t generation = default_generation)¶
-
template<typename
U= T>
std::enable_if<std::is_void<U>::value, hpx::future<void>>::typeset(launch::async_policy, std::size_t generation = default_generation)¶
-
template<typename
U= T>
std::enable_if<std::is_void<U>::value>::typeset(launch::sync_policy, std::size_t generation = default_generation)¶
Private Types
-
typedef components::client_base<send_channel<T>, lcos::server::channel<T>>
base_type¶
-
typedef T
-
template<typename
-
namespace
Header hpx/lcos_distributed/server/channel.hpp¶
Defines
-
HPX_REGISTER_CHANNEL_DECLARATION(...)¶
-
HPX_REGISTER_CHANNEL_DECLARATION_(...)¶
-
HPX_REGISTER_CHANNEL_DECLARATION_1(type)¶
-
HPX_REGISTER_CHANNEL_DECLARATION_2(type, name)¶
-
HPX_REGISTER_CHANNEL(...)¶
-
HPX_REGISTER_CHANNEL_(...)¶
-
HPX_REGISTER_CHANNEL_1(type)¶
-
HPX_REGISTER_CHANNEL_2(type, name)¶
-
namespace
hpx -
namespace
lcos -
namespace
server¶ -
template<typename
T, typenameRemoteType>
classchannel: public lcos::base_lco_with_value<T, RemoteType, traits::detail::component_tag>, public components::component_base<channel<T, RemoteType>>¶ - #include <channel.hpp>
Public Types
Public Functions
-
channel()¶
-
void
set_value(RemoteType &&result)¶
-
result_type
get_value()¶
-
result_type
get_value(error_code &ec)¶
-
HPX_DEFINE_COMPONENT_DIRECT_ACTION(channel, get_generation)¶
-
HPX_DEFINE_COMPONENT_DIRECT_ACTION(channel, set_generation)¶
Public Static Functions
-
static components::component_type
get_component_type()¶
-
static void
set_component_type(components::component_type type)¶
Private Types
-
typedef components::component_base<channel>
base_type¶
-
typedef std::conditional<std::is_void<T>::value, util::unused_type, T>::type
result_type¶
Private Members
-
lcos::local::channel<result_type>
channel_¶
-
-
template<typename
-
namespace
-
namespace