asio::detail::timer_queue< Time_Traits > Class Template Reference

#include <timer_queue.hpp>

Inheritance diagram for asio::detail::timer_queue< Time_Traits >:

asio::detail::timer_queue_base

List of all members.

Public Types

typedef Time_Traits::time_type time_type
typedef Time_Traits::duration_type duration_type

Public Member Functions

 timer_queue ()
template<typename Handler>
bool enqueue_timer (const time_type &time, Handler handler, void *token)
virtual bool empty () const
virtual
boost::posix_time::time_duration 
wait_duration () const
virtual void dispatch_timers ()
std::size_t cancel_timer (void *timer_token)
virtual void destroy_timers ()

Private Member Functions

void up_heap (size_t index)
void down_heap (size_t index)
void swap_heap (size_t index1, size_t index2)
void remove_timer (timer_base *t)

Private Attributes

hash_map< void *, timer_base * > timers_
std::vector< timer_base * > heap_

Classes

class  timer
class  timer_base


Detailed Description

template<typename Time_Traits>
class asio::detail::timer_queue< Time_Traits >

Definition at line 38 of file timer_queue.hpp.


Member Typedef Documentation

template<typename Time_Traits>
typedef Time_Traits::time_type asio::detail::timer_queue< Time_Traits >::time_type

Definition at line 43 of file timer_queue.hpp.

template<typename Time_Traits>
typedef Time_Traits::duration_type asio::detail::timer_queue< Time_Traits >::duration_type

Definition at line 46 of file timer_queue.hpp.


Constructor & Destructor Documentation

template<typename Time_Traits>
asio::detail::timer_queue< Time_Traits >::timer_queue (  )  [inline]

Definition at line 49 of file timer_queue.hpp.


Member Function Documentation

template<typename Time_Traits>
template<typename Handler>
bool asio::detail::timer_queue< Time_Traits >::enqueue_timer ( const time_type time,
Handler  handler,
void *  token 
) [inline]

template<typename Time_Traits>
virtual bool asio::detail::timer_queue< Time_Traits >::empty (  )  const [inline, virtual]

template<typename Time_Traits>
virtual boost::posix_time::time_duration asio::detail::timer_queue< Time_Traits >::wait_duration (  )  const [inline, virtual]

template<typename Time_Traits>
virtual void asio::detail::timer_queue< Time_Traits >::dispatch_timers (  )  [inline, virtual]

template<typename Time_Traits>
std::size_t asio::detail::timer_queue< Time_Traits >::cancel_timer ( void *  timer_token  )  [inline]

template<typename Time_Traits>
virtual void asio::detail::timer_queue< Time_Traits >::destroy_timers (  )  [inline, virtual]

template<typename Time_Traits>
void asio::detail::timer_queue< Time_Traits >::up_heap ( size_t  index  )  [inline, private]

template<typename Time_Traits>
void asio::detail::timer_queue< Time_Traits >::down_heap ( size_t  index  )  [inline, private]

template<typename Time_Traits>
void asio::detail::timer_queue< Time_Traits >::swap_heap ( size_t  index1,
size_t  index2 
) [inline, private]

template<typename Time_Traits>
void asio::detail::timer_queue< Time_Traits >::remove_timer ( timer_base t  )  [inline, private]


Member Data Documentation

template<typename Time_Traits>
hash_map<void*, timer_base*> asio::detail::timer_queue< Time_Traits >::timers_ [private]

template<typename Time_Traits>
std::vector<timer_base*> asio::detail::timer_queue< Time_Traits >::heap_ [private]


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

Generated on Sun May 25 00:21:34 2008 by  doxygen 1.5.6