| 177 | /// with tbb_concurrent_* containers. |
| 178 | template<typename T> |
| 179 | inline size_t tbb_hasher( const boost::intrusive_ptr<T> &ptr ) |
| 180 | { |
| 181 | // This is the same as what tbb uses for raw pointers |
| 182 | const size_t h = reinterpret_cast<size_t>( ptr.get() ); |
| 183 | return (h >> 3) ^ h; |
| 184 | } |
| 185 | |
| 186 | } // namespace IECore |
| 187 |