git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52425 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			100 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        hashset.h
 | 
						|
// Purpose:     interface of wxHashSet
 | 
						|
// Author:      wxWidgets team
 | 
						|
// RCS-ID:      $Id$
 | 
						|
// Licence:     wxWindows license
 | 
						|
/////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
/**
 | 
						|
    @class wxHashSet
 | 
						|
    @wxheader{hashset.h}
 | 
						|
 | 
						|
    This is a simple, type-safe, and reasonably efficient hash set class,
 | 
						|
    whose interface is a subset of the interface of STL containers. In
 | 
						|
    particular, the interface is modeled after std::set, and the various,
 | 
						|
    non-standard, std::hash_map.
 | 
						|
 | 
						|
    @library{wxbase}
 | 
						|
    @category{FIXME}
 | 
						|
*/
 | 
						|
class wxHashSet
 | 
						|
{
 | 
						|
public:
 | 
						|
    //@{
 | 
						|
    /**
 | 
						|
        Copy constructor.
 | 
						|
    */
 | 
						|
    wxHashSet(size_type size = 10);
 | 
						|
    wxHashSet(const wxHashSet& set);
 | 
						|
    //@}
 | 
						|
 | 
						|
    //@{
 | 
						|
    /**
 | 
						|
        Returns an iterator pointing at the first element of the hash set.
 | 
						|
        Please remember that hash sets do not guarantee ordering.
 | 
						|
    */
 | 
						|
    const_iterator begin();
 | 
						|
    const iterator begin();
 | 
						|
    //@}
 | 
						|
 | 
						|
    /**
 | 
						|
        Removes all elements from the hash set.
 | 
						|
    */
 | 
						|
    void clear();
 | 
						|
 | 
						|
    /**
 | 
						|
        Counts the number of elements with the given key present in the set.
 | 
						|
        This function returns only 0 or 1.
 | 
						|
    */
 | 
						|
    size_type count(const key_type& key) const;
 | 
						|
 | 
						|
    /**
 | 
						|
        Returns @true if the hash set does not contain any elements, @false otherwise.
 | 
						|
    */
 | 
						|
    bool empty() const;
 | 
						|
 | 
						|
    //@{
 | 
						|
    /**
 | 
						|
        Returns an iterator pointing at the one-after-the-last element of the hash set.
 | 
						|
        Please remember that hash sets do not guarantee ordering.
 | 
						|
    */
 | 
						|
    const_iterator end();
 | 
						|
    const iterator end();
 | 
						|
    //@}
 | 
						|
 | 
						|
    //@{
 | 
						|
    /**
 | 
						|
        Erases the element pointed to by the iterator. After the deletion
 | 
						|
        the iterator is no longer valid and must not be used.
 | 
						|
    */
 | 
						|
    size_type erase(const key_type& key);
 | 
						|
    void erase(iterator it);
 | 
						|
    void erase(const_iterator it);
 | 
						|
    //@}
 | 
						|
 | 
						|
    //@{
 | 
						|
    /**
 | 
						|
        If an element with the given key is present, the functions returns
 | 
						|
        an iterator pointing at that element, otherwise an invalid iterator
 | 
						|
        is returned (i.e. hashset.find( non_existent_key ) == hashset.end()).
 | 
						|
    */
 | 
						|
    iterator find(const key_type& key) const;
 | 
						|
    const_iterator find(const key_type& key) const;
 | 
						|
    //@}
 | 
						|
 | 
						|
    /**
 | 
						|
        Inserts the given value in the hash set. The return value is
 | 
						|
        equivalent to a @c std::pairwxHashMap::iterator, bool;
 | 
						|
        the iterator points to the inserted element, the boolean value
 | 
						|
        is @true if @c v was actually inserted.
 | 
						|
    */
 | 
						|
    Insert_Result insert(const value_type& v);
 | 
						|
 | 
						|
    /**
 | 
						|
        Returns the number of elements in the set.
 | 
						|
    */
 | 
						|
    size_type size() const;
 | 
						|
};
 | 
						|
 |