Boost logo

Boost Users :

Subject: [Boost-users] [graph] hash_set
From: liquid (kj_at_[hidden])
Date: 2009-04-07 16:54:27


How to use hash_setS?
If I define BOOST_HAS_HASH the compiler will generate
"error C2977: 'stdext::hash_set' : too many template arguments".

This is caused by using
"BOOST_STD_EXTENSION_NAMESPACE::hash_set<Key,Eq,Hash,Alloc>" in
definition of
"template <class Key, class Eq, class Hash, class Alloc>
  struct container_traits<
BOOST_STD_EXTENSION_NAMESPACE::hash_set<Key,Eq,Hash,Alloc> > {
    typedef set_tag category;
    typedef stable_tag iterator_stability; // is this right?
  };"

Class hash_set is defined in STL as follows:
template<class _Kty,
    class _Tr = hash_compare<_Kty, _STD less<_Kty> >,
    class _Alloc = _STD allocator<_Kty> >
    class hash_set
        : public _Hash<_Hset_traits<_Kty, _Tr, _Alloc, false> > {...};
which has only 3 params.

Regards
liquid


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net