Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::detail::thread_data_base Struct Referenceabstract

#include <thread_data.hpp>

Inheritance diagram for boost::detail::thread_data_base:
Collaboration diagram for boost::detail::thread_data_base:

Public Types

typedef std::vector< std::pair
< condition_variable *, mutex * > > 
notify_list_t
 
typedef std::vector
< shared_ptr
< shared_state_base > > 
async_states_t
 
typedef pthread_t native_handle_type
 
typedef std::vector< std::pair
< condition_variable *, mutex * > > 
notify_list_t
 
typedef std::vector
< shared_ptr
< shared_state_base > > 
async_states_t
 
typedef detail::win32::handle native_handle_type
 

Public Member Functions

 thread_data_base ()
 
virtual ~thread_data_base ()
 
virtual void run ()=0
 
virtual void notify_all_at_thread_exit (condition_variable *cv, mutex *m)
 
void make_ready_at_thread_exit (shared_ptr< shared_state_base > as)
 
 thread_data_base ()
 
virtual ~thread_data_base ()
 
virtual void run ()=0
 
virtual void notify_all_at_thread_exit (condition_variable *cv, mutex *m)
 
void make_ready_at_thread_exit (shared_ptr< shared_state_base > as)
 
shared_ptr< thread_data_baseshared_from_this ()
 
shared_ptr
< thread_data_baseconst > 
shared_from_this () const
 
void _internal_accept_owner (shared_ptr< X > const *ppx, Y *py) const
 

Public Attributes

thread_data_ptr self
 
pthread_t thread_handle
 
boost::mutex data_mutex
 
boost::condition_variable done_condition
 
boost::mutex sleep_mutex
 
boost::condition_variable sleep_condition
 
bool done
 
bool join_started
 
bool joined
 
boost::detail::thread_exit_callback_node * thread_exit_callbacks
 
std::map< void const
*, boost::detail::tss_data_node
tss_data
 
pthread_mutex_t * cond_mutex
 
pthread_cond_t * current_cond
 
notify_list_t notify
 
async_states_t async_states_
 
bool interrupt_enabled
 
bool interrupt_requested
 
long count
 
detail::win32::handle_manager thread_handle
 
unsigned id
 
detail::win32::handle_manager interruption_handle
 
bool interruption_enabled
 

Friends

void intrusive_ptr_add_ref (thread_data_base *p)
 
void intrusive_ptr_release (thread_data_base *p)
 

Member Typedef Documentation

Constructor & Destructor Documentation

boost::detail::thread_data_base::thread_data_base ( )
inline
virtual boost::detail::thread_data_base::~thread_data_base ( )
virtual
boost::detail::thread_data_base::thread_data_base ( )
inline
virtual boost::detail::thread_data_base::~thread_data_base ( )
virtual

Member Function Documentation

void boost::enable_shared_from_this< thread_data_base >::_internal_accept_owner ( shared_ptr< X > const *  ppx,
Y *  py 
) const
inlineinherited
void boost::detail::thread_data_base::make_ready_at_thread_exit ( shared_ptr< shared_state_base as)
inline
void boost::detail::thread_data_base::make_ready_at_thread_exit ( shared_ptr< shared_state_base as)
inline
virtual void boost::detail::thread_data_base::notify_all_at_thread_exit ( condition_variable cv,
mutex m 
)
inlinevirtual
virtual void boost::detail::thread_data_base::notify_all_at_thread_exit ( condition_variable cv,
mutex m 
)
inlinevirtual
virtual void boost::detail::thread_data_base::run ( )
pure virtual
virtual void boost::detail::thread_data_base::run ( )
pure virtual
shared_ptr<thread_data_base > boost::enable_shared_from_this< thread_data_base >::shared_from_this ( )
inlineinherited
shared_ptr<thread_data_base const> boost::enable_shared_from_this< thread_data_base >::shared_from_this ( ) const
inlineinherited

Friends And Related Function Documentation

void intrusive_ptr_add_ref ( thread_data_base p)
friend
void intrusive_ptr_release ( thread_data_base p)
friend

Member Data Documentation

async_states_t boost::detail::thread_data_base::async_states_
pthread_mutex_t* boost::detail::thread_data_base::cond_mutex
long boost::detail::thread_data_base::count
pthread_cond_t* boost::detail::thread_data_base::current_cond
boost::mutex boost::detail::thread_data_base::data_mutex
bool boost::detail::thread_data_base::done
boost::condition_variable boost::detail::thread_data_base::done_condition
unsigned boost::detail::thread_data_base::id
bool boost::detail::thread_data_base::interrupt_enabled
bool boost::detail::thread_data_base::interrupt_requested
bool boost::detail::thread_data_base::interruption_enabled
detail::win32::handle_manager boost::detail::thread_data_base::interruption_handle
bool boost::detail::thread_data_base::join_started
bool boost::detail::thread_data_base::joined
notify_list_t boost::detail::thread_data_base::notify
thread_data_ptr boost::detail::thread_data_base::self
boost::condition_variable boost::detail::thread_data_base::sleep_condition
boost::mutex boost::detail::thread_data_base::sleep_mutex
boost::detail::thread_exit_callback_node * boost::detail::thread_data_base::thread_exit_callbacks
detail::win32::handle_manager boost::detail::thread_data_base::thread_handle
pthread_t boost::detail::thread_data_base::thread_handle
std::map< void const *, boost::detail::tss_data_node > boost::detail::thread_data_base::tss_data

The documentation for this struct was generated from the following file: