@@ -617,4 +617,52 @@ template< class Key, class Hash, class KeyEqual >
617617void swap (UnorderedSet<Key, Hash, KeyEqual>& lhs, UnorderedSet<Key, Hash, KeyEqual>& rhs)
618618{
619619 lhs.swap (rhs);
620- }
620+ }
621+
622+ template < class Key ,
623+ class Hash = std::hash<Key>,
624+ class KeyEqual = std::equal_to<Key>
625+ > class std_unordered_set
626+ : public UnorderedSet<Key, Hash, KeyEqual>
627+ {
628+ public:
629+ iterator begin () { return Begin (); }
630+ const_iterator begin () const { return Begin (); }
631+ const_iterator cbegin () const { return CBegin (); }
632+ iterator end () { return End (); }
633+ const_iterator end () const { return End (); }
634+ const_iterator cend () const { return CEnd (); }
635+ bool empty () const { return Empty (); }
636+ size_type size () const { return Size (); }
637+ size_type max_size () const { return MaxSize (); }
638+ void clear () { Clear (); }
639+ std::pair<iterator, bool > insert (const value_type& value) { return Insert (value); }
640+ void insert (iterator first, iterator last) { Insert (first, last); }
641+ void insert (std::initializer_list<value_type> initList) { Insert (initList); }
642+ iterator erase (const_iterator position) { return Erase (position); }
643+ iterator erase (const_iterator first, const_iterator last) { return Erase (first, last); }
644+ size_type erase (const value_type& value) { return Erase (value); }
645+ void swap (UnorderedSet& other) { Swap (other); }
646+ size_type count (const value_type& value) const { return count (value); }
647+ iterator find (const value_type& value) { return Find (value); }
648+ const_iterator find (const value_type& value) const { return Find (value); }
649+ std::pair<iterator, iterator> equal_range (const value_type& value) { return EqualRange (value); }
650+ std::pair<const_iterator, const_iterator> equal_range (const value_type& value) const { return EqualRange (value); }
651+ iterator begin (size_type n) { return Begin (n); }
652+ const_iterator begin (size_type n) const { return Begin (n); }
653+ const_iterator cbegin (size_type n) const { return CBegin (n); }
654+ iterator end (size_type n) { return End (n); }
655+ const_iterator end (size_type n) const { return End (n); }
656+ const_iterator cend (size_type n) const { return CEnd (n); }
657+ size_type bucket_count () const { return BucketCount (); }
658+ size_type max_bucket_count () const { return MaxBucketCount (); }
659+ size_type bucket_size (size_type n) const { return BucketSize (n); }
660+ size_type bucket (const value_type& value) const { return Bucket (value); }
661+ float load_factor () const { return LoadFactor (); }
662+ float max_load_factor () const { return MaxLoadFactor (); }
663+ void max_load_factor (float ml) { MaxLoadFactor (ml); }
664+ void rehash (size_type count) { Rehash (count); }
665+ void reserve (size_type count) { Reserve (count); }
666+ hasher hash_function () const { return HashFunction (); }
667+ key_equal key_eq () const { return KeyEq (); }
668+ };
0 commit comments