Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
Go to the documentation of this file.
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
bool is_observing() const
Returns true if observation is enabled, false otherwise.
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.
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
void observe(bool state=true)
Enable or disable observation.
intptr_t my_context_tag
contains task_arena pointer or tag indicating local or global semantics of the observer
friend class internal::observer_proxy
void __TBB_EXPORTED_METHOD observe(bool state=true)
Enable or disable observation.
friend class internal::observer_list
task_scheduler_observer(task_arena &a)
Construct local observer for a given arena in inactive state (observation disabled).
friend class observer_list
virtual void on_scheduler_entry(bool)
Entry notification.
virtual void on_scheduler_exit(bool)
Exit notification.
virtual ~task_scheduler_observer()
static const intptr_t v6_trait
atomic< intptr_t > my_busy_count
Counter preventing the observer from being destroyed while in use by the scheduler.
friend class observer_proxy
task_scheduler_observer_v3()
Construct observer with observation disabled.
#define __TBB_EXPORTED_METHOD
virtual ~task_scheduler_observer_v3()
Destructor automatically switches observation off if it is enabled.
#define __TBB_ASSERT_EX(predicate, comment)
"Extended" version is useful to suppress warnings if a variable is only used with an assert
Copyright © 2005-2020 Intel Corporation. All Rights Reserved.
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
registered trademarks or trademarks of Intel Corporation or its
subsidiaries in the United States and other countries.
* Other names and brands may be claimed as the property of others.