25 #ifndef USE_VALGRINDABLE_CLIENTPTR
27 #include "boost/smart_ptr.hpp"
28 #include "boost/weak_ptr.hpp"
30 typedef boost::shared_ptr< Client >
ClientPtr;
38 public: NormalPtr( T *val ) : val( val ) {}
39 NormalPtr(
const NormalPtr< T > &p ) : val( p.val ) {}
40 NormalPtr() : val( NULL ) {}
54 const T* operator->()
const
74 operator bool()
const {
75 return val ?
true :
false;
77 bool operator!()
const
79 return val ?
false :
true;
84 typedef NormalPtr< Client > ClientWeakPtr;
89 typedef std::map< int, ClientPtr >::iterator
ClientIt;
95 typedef std::vector< ClientList* >::iterator
VCLI;