19 #if !defined(__TBB_show_deprecation_message_reader_writer_lock_H) && defined(__TBB_show_deprecated_header_message)    20 #define  __TBB_show_deprecation_message_reader_writer_lock_H    21 #pragma message("TBB Warning: tbb/reader_writer_lock.h is deprecated. For details, please see Deprecated Features appendix in the TBB reference manual.")    24 #if defined(__TBB_show_deprecated_header_message)    25 #undef __TBB_show_deprecated_header_message    28 #ifndef __TBB_reader_writer_lock_H    29 #define __TBB_reader_writer_lock_H    31 #define __TBB_reader_writer_lock_H_include_area    39 namespace interface5 {
    47     friend class scoped_lock;
    48     friend class scoped_lock_read;
    85     enum status_t { waiting_nonblocking, waiting, active, invalid };
    88     reader_writer_lock() {
    93     ~reader_writer_lock() {
   102         friend class reader_writer_lock;
   105         scoped_lock(reader_writer_lock& 
lock) {
   106             internal_construct(
lock);
   114         void* 
operator new(
size_t s) {
   117         void operator delete(
void* 
p) {
   123         reader_writer_lock *mutex;
   127         atomic<status_t> status;
   139         friend class reader_writer_lock;
   142         scoped_lock_read(reader_writer_lock& 
lock) {
   143             internal_construct(
lock);
   147         ~scoped_lock_read() {
   151         void* 
operator new(
size_t s) {
   154         void operator delete(
void* 
p) {
   160         reader_writer_lock *mutex;
   162         scoped_lock_read *next;
   164         atomic<status_t> status;
   209     bool start_write(scoped_lock *);
   211     void set_next_writer(scoped_lock *w);
   213     void end_write(scoped_lock *);
   215     bool is_current_writer();
   219     void start_read(scoped_lock_read *);
   221     void unblock_readers();
   226     atomic<scoped_lock_read*> reader_head;
   228     atomic<scoped_lock*> writer_head;
   230     atomic<scoped_lock*> writer_tail;
   234     atomic<uintptr_t> rdr_count_and_flags; 
   239 using interface5::reader_writer_lock;
   244 #undef __TBB_reader_writer_lock_H_include_area void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id id
 
class __TBB_DEPRECATED_IN_VERBOSE_MODE_MSG("tbb::aligned_space is deprecated, use std::aligned_storage") aligned_space
Block of space aligned sufficiently to construct an array T with N elements.
 
void __TBB_EXPORTED_FUNC deallocate_via_handler_v3(void *p)
Deallocates memory using FreeHandler.
 
void const char const char int ITT_FORMAT __itt_group_sync p
 
Base class for types that should not be copied or assigned.
 
void const char const char int ITT_FORMAT __itt_group_sync s
 
#define __TBB_EXPORTED_METHOD
 
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void * lock
 
void *__TBB_EXPORTED_FUNC allocate_via_handler_v3(size_t n)
Allocates memory using MallocHandler.