| #ifndef TEST_HASH_H | |
| #define TEST_HASH_H | |
| #include <cstddef> | |
| #include <type_traits> | |
| template <class C> | |
| class test_hash | |
| : private C | |
| { | |
| int data_; | |
| public: | |
| explicit test_hash(int data = 0) : data_(data) {} | |
| std::size_t | |
| operator()(typename std::add_lvalue_reference<const typename C::argument_type>::type x) const | |
| {return C::operator()(x);} | |
| bool operator==(const test_hash& c) const | |
| {return data_ == c.data_;} | |
| }; | |
| #endif // TEST_HASH_H |