typedef off_t off64_t;
#endif
-// -- stl crap --
-
-
-CEPH_HASH_NAMESPACE_START
- template<> struct hash< std::string >
- {
- size_t operator()( const std::string& x ) const
- {
- static hash<const char*> H;
- return H(x.c_str());
- }
- };
-
-#ifndef __LP64__
- template<> struct hash<int64_t> {
- size_t operator()(int64_t __x) const {
- static hash<int32_t> H;
- return H((__x >> 32) ^ (__x & 0xffffffff));
- }
- };
- template<> struct hash<uint64_t> {
- size_t operator()(uint64_t __x) const {
- static hash<uint32_t> H;
- return H((__x >> 32) ^ (__x & 0xffffffff));
- }
- };
-#endif
-CEPH_HASH_NAMESPACE_END
-
-
-
// -- io helpers --
template<class A, class B>