25 #ifndef WSHAREDOBJECT_H
26 #define WSHAREDOBJECT_H
28 #include <boost/thread.hpp>
30 #include "WCondition.h"
31 #include "WSharedObjectTicket.h"
32 #include "WSharedObjectTicketRead.h"
33 #include "WSharedObjectTicketWrite.h"
40 template <
typename T >
58 typedef boost::shared_ptr< WSharedObjectTicketRead< T > >
ReadTicket;
63 typedef boost::shared_ptr< WSharedObjectTicketWrite< T > >
WriteTicket;
100 mutable boost::shared_ptr< boost::shared_mutex >
m_lock;
110 template <
typename T >
112 m_lock( new boost::shared_mutex ),
118 template <
typename T >
124 template <
typename T >
127 return m_changeCondition;
130 template <
typename T >
133 return boost::shared_ptr< WSharedObjectTicketRead< T > >(
138 template <
typename T >
143 return boost::shared_ptr< WSharedObjectTicketWrite< T > >(
149 return boost::shared_ptr< WSharedObjectTicketWrite< T > >(
155 #endif // WSHAREDOBJECT_H