13#ifndef ROOT_ROOFIT_MultiProcess_Messenger
14#define ROOT_ROOFIT_MultiProcess_Messenger
23#define turn_NDEBUG_back_on
27namespace MultiProcess {
31template <
typename T,
typename...
Ts>
44template <
typename value_t>
58template <
typename T,
typename...
Ts>
71template <
typename value_t>
87template <
typename T,
typename...
Ts>
100template <
typename value_t>
106 std::stringstream
ss;
114template <
typename T,
typename...
Ts>
118 std::stringstream
ss;
127template <
typename value_t>
133 std::stringstream
ss;
148 std::stringstream
ss;
153 for (
auto &channel :
mw_) {
159template <
typename T,
typename T2,
typename...
Ts>
163 std::stringstream
ss;
168 for (
auto &channel :
mw_) {
174template <
typename value_t>
180 std::stringstream
ss;
193 std::stringstream
ss;
202template <
typename T,
typename T2,
typename...
Ts>
206 std::stringstream
ss;
215template <
typename value_t>
227 std::stringstream
ss;
238#ifdef turn_NDEBUG_back_on
240#undef turn_NDEBUG_back_on
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
One endpoint of a full-duplex interprocess message pipe.
std::vector< Channel > qw_
Channel & select_worker_channel_on_master()
On master: pick the worker channel to receive the next message from.
value_t receive_from_master_on_worker(bool *more=nullptr)
void send_from_worker_to_master(T &&item)
specialization that sends the final part of a message
value_t receive_from_worker_on_master(bool *more=nullptr)
std::vector< Channel > mw_
value_t receive_from_queue_on_worker()
void send_from_queue_to_master()
void send_from_master_to_queue()
void update_worker_channel_on_master(Channel &channel, bool more)
value_t receive_from_master_on_queue()
value_t receive_from_queue_on_master()
void debug_print(std::string s)
Function called from send and receive template functions in debug builds used to monitor the messages...
value_t receive_from_worker_on_queue(std::size_t this_worker_id)
void publish_from_master_to_workers(T &&item)
specialization that sends the final part of a message
void send_from_queue_to_worker(std::size_t this_worker_id)
void send_from_worker_to_queue()
void send_item(Channel &channel, const T &item, bool more)
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...