18 #ifndef LUNCHBOX_HASH_H 
   19 #define LUNCHBOX_HASH_H 
   21 #include <lunchbox/refPtr.h> 
   29         : 
public stde::hash_map< K, T, stde::hash_compare< const void* > >
 
   31         : 
public stde::hash_map< K, T, stde::hash< const void* > >
 
   37 template< 
typename T >
 
   38 class hashRefPtr : 
public stde::hash_compare< RefPtr< T > >
 
   43         stde::hash_compare< const void* > comp;
 
   44         return comp( key.
get( ));
 
   47     bool operator() ( 
const RefPtr< T >& k1, 
const RefPtr< T >& k2 )
 const 
   53 template< 
class K, 
class T > 
class RefPtrHash
 
   54         : 
public stde::hash_map< RefPtr< K >, T, hashRefPtr< K > >
 
   62         return stde::hash< const void* >()( key.
get() );
 
   68         : 
public stde::hash_map< RefPtr< K >, T, hashRefPtr< K > >
 
   72 #ifdef LUNCHBOX_USE_V1_API 
   74 template<
class T> 
class UUIDHash : 
public stde::hash_map<lunchbox::UUID, T> {};
 
   78 #endif // LUNCHBOX_HASH_H 
A hash function for RefPtr keys. 
 
Include extensions to the STL and define a uniform interface to them. 
 
A smart reference pointer, aka boost::intrusive_ptr.