Pierre Couderc wrote:
Generally, is there somewhere a good tutorial and examplefor the use of
SGI STL hash_set?
I don't know, but you can get a tutorial for the very similar and
nearly standardized std::tr1::unordered_set in Pete Becker's book on
TR1.
I am lost in SGI documentation.
More specifically, i am trying to use hat I need that a hash_set :
hash_set<ch;
and logically the h function for my c class is missing and I get a
compile error.
How do I declare this hash function?
You need to specialize the hash functor for your class:
#include <hash_set>
class C { /*...*/ };
// Hashable classes must have an == operator
// We'll just stub it out here, pending definition of C
bool operator==( const C&, const C& ) { return true; }
namespace std
{
template<struct hash<C>
{
// Define the hash function. We'll just stub it out here.
size_t operator()( const C& ) const { return 0; }
};
}
void hash_set_test()
{
C c;
std::hash_set<Chsc;
hsc.insert( c );
}
Cheers! --M