17 #ifndef __TBB_task_scheduler_observer_H 18 #define __TBB_task_scheduler_observer_H 20 #define __TBB_task_scheduler_observer_H_include_area 24 #if __TBB_ARENA_OBSERVER 28 #if __TBB_SCHEDULER_OBSERVER 31 namespace interface6 {
32 class task_scheduler_observer;
90 #if __TBB_ARENA_OBSERVER 91 namespace interface6 {
100 static const intptr_t
v6_trait = (intptr_t)((~(uintptr_t)0 >> 1) + 1);
118 #if __TBB_ARENA_OBSERVER 126 #if __TBB_ARENA_OBSERVER 154 using interface6::task_scheduler_observer;
164 #undef __TBB_task_scheduler_observer_H_include_area
task_scheduler_observer(task_arena &a)
Construct local observer for a given arena in inactive state (observation disabled).
virtual void on_scheduler_entry(bool)
Entry notification.
intptr_t my_context_tag
contains task_arena pointer or tag indicating local or global semantics of the observer
void observe(bool state=true)
Enable or disable observation.
virtual ~task_scheduler_observer()
friend class observer_proxy
static const intptr_t v6_trait
bool is_observing() const
Returns true if observation is enabled, false otherwise.
void __TBB_EXPORTED_METHOD observe(bool state=true)
Enable or disable observation.
#define __TBB_ASSERT_EX(predicate, comment)
"Extended" version is useful to suppress warnings if a variable is only used with an assert
virtual void on_scheduler_exit(bool)
Exit notification.
atomic< intptr_t > my_busy_count
Counter preventing the observer from being destroyed while in use by the scheduler.
friend class internal::observer_proxy
#define __TBB_EXPORTED_METHOD
friend class internal::observer_list
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
friend class observer_list
virtual ~task_scheduler_observer_v3()
Destructor automatically switches observation off if it is enabled.
task_scheduler_observer(bool local=false)
Construct local or global observer in inactive state (observation disabled).
observer_proxy * my_proxy
Pointer to the proxy holding this observer.
task_scheduler_observer_v3()
Construct observer with observation disabled.