Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
Class representing source of mail. More...
#include <mailbox.h>
Public Member Functions | |
mail_inbox () | |
Construct unattached inbox. More... | |
void | attach (mail_outbox &putter) |
Attach inbox to a corresponding outbox. More... | |
void | detach () |
Detach inbox from its outbox. More... | |
task_proxy * | pop (__TBB_ISOLATION_EXPR(isolation_tag isolation)) |
Get next piece of mail, or NULL if mailbox is empty. More... | |
bool | empty () |
Return true if mailbox is empty. More... | |
void | set_is_idle (bool value) |
Indicate whether thread that reads this mailbox is idle. More... | |
bool | is_idle_state (bool value) const |
Indicate whether thread that reads this mailbox is idle. More... | |
Private Attributes | |
mail_outbox * | my_putter |
Corresponding sink where mail that we receive will be put. More... | |
|
inline |
Construct unattached inbox.
Definition at line 190 of file mailbox.h.
|
inline |
Attach inbox to a corresponding outbox.
Definition at line 193 of file mailbox.h.
|
inline |
Detach inbox from its outbox.
Definition at line 197 of file mailbox.h.
References __TBB_ASSERT.
Referenced by tbb::internal::arena::process().
|
inline |
Return true if mailbox is empty.
Definition at line 206 of file mailbox.h.
References tbb::internal::mail_outbox::empty().
|
inline |
Indicate whether thread that reads this mailbox is idle.
Definition at line 218 of file mailbox.h.
References tbb::internal::unpadded_mail_outbox::my_is_idle, tbb::internal::task_proxy::outbox, and value.
Referenced by tbb::internal::generic_scheduler::attach_arena(), and tbb::internal::arena::process().
|
inline |
Get next piece of mail, or NULL if mailbox is empty.
Definition at line 202 of file mailbox.h.
References __TBB_ISOLATION_EXPR, and tbb::internal::mail_outbox::internal_pop().
Referenced by tbb::internal::generic_scheduler::get_mailbox_task().
|
inline |
Indicate whether thread that reads this mailbox is idle.
Raises assertion failure if mailbox is redundantly marked as not idle.
Definition at line 211 of file mailbox.h.
References __TBB_ASSERT, tbb::internal::unpadded_mail_outbox::my_is_idle, and value.
Referenced by tbb::internal::generic_scheduler::attach_arena().
|
private |