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.
Abstraction layer and common utilities for multi-threaded programming.
A smart reference pointer, aka boost::intrusive_ptr.