Adobe Source Libraries 1.49.0
A collection of C++ libraries.
Loading...
Searching...
No Matches
closed_hash_set< T, KeyTransform, Hash, Pred, A > Class Template Reference

A hash based associative container. More...

#include <closed_hash.hpp>

Inheritance diagram for closed_hash_set< T, KeyTransform, Hash, Pred, A >:
closed_hash_map< name_t, any_regular_t >

Public Types

typedef KeyTransform key_transform
using key_type
typedef T value_type
typedef Hash hasher
typedef Pred key_equal
typedef A allocator_type
typedef value_typepointer
typedef const value_typeconst_pointer
typedef value_typereference
typedef const value_typeconst_reference
typedef std::size_t size_type
typedef std::ptrdiff_t difference_type
typedef implementation::closed_hash_iterator< closed_hash_set, value_typeiterator
typedef implementation::closed_hash_iterator< closed_hash_set, const value_typeconst_iterator
typedef std::reverse_iterator< iteratorreverse_iterator
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator

Public Member Functions

 closed_hash_set ()
 closed_hash_set (size_type n)
 closed_hash_set (size_type n, const hasher &hf, const key_equal &eq=key_equal(), const key_transform &kf=key_transform(), const allocator_type &a=allocator_type())
template<typename I>
 closed_hash_set (I f, I l)
 closed_hash_set (std::initializer_list< value_type > init)
template<typename I>
 closed_hash_set (I f, I l, size_type n, const hasher &hf=hasher(), const key_equal &eq=key_equal(), const key_transform &kf=key_transform(), const allocator_type &a=allocator_type())
 closed_hash_set (const closed_hash_set &x)
closed_hash_setoperator= (closed_hash_set x)
allocator_type get_allocator () const
 closed_hash_set (closed_hash_set &&x) noexcept
size_type size () const
size_type max_size () const
bool empty () const
size_type capacity () const
void reserve (size_type n)
key_transform key_function () const
hasher hash_function () const
key_equal key_eq () const
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
reverse_iterator rbegin ()
reverse_iterator rend ()
const_reverse_iterator rbegin () const
const_reverse_iterator rend () const
iterator erase (iterator location)
std::size_t erase (const key_type &key)
void clear ()
const_iterator find (const key_type &key) const
const_iterator find (const key_type &key, std::size_t hash) const
iterator find (const key_type &key)
iterator find (const key_type &key, std::size_t hash)
std::pair< const_iterator, const_iteratorequal_range (const key_type &key) const
std::pair< const_iterator, const_iteratorequal_range (const key_type &key, size_t hash) const
std::pair< iterator, iteratorequal_range (const key_type &key)
std::pair< iterator, iteratorequal_range (const key_type &key, std::size_t hash)
std::size_t count (const key_type &key) const
std::size_t count (const key_type &key, std::size_t hash) const
template<typename I>
void insert (I first, I last)
template<typename I>
void move_insert (I first, I last)
std::pair< iterator, bool > insert (value_type x)
std::pair< iterator, bool > insert (value_type x, std::size_t hash)
iterator insert (iterator, value_type x)
 ~closed_hash_set ()

Friends

void swap (closed_hash_set &x, closed_hash_set &y)
bool operator== (const closed_hash_set &x, const closed_hash_set &y)

Detailed Description

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
class adobe::version_1::closed_hash_set< T, KeyTransform, Hash, Pred, A >
A closed_hash_set is a hash based associative container, similar to a hash_set.
Model Of
Todo
  • re-order parameters so key_function is after comparison - to be consistent with lower_bound.

Definition at line 146 of file closed_hash.hpp.

Member Typedef Documentation

◆ key_transform

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
typedef KeyTransform key_transform

Definition at line 151 of file closed_hash.hpp.

◆ key_type

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
using key_type

Definition at line 153 of file closed_hash.hpp.

◆ value_type

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
typedef T value_type

Definition at line 155 of file closed_hash.hpp.

◆ hasher

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
typedef Hash hasher

Definition at line 156 of file closed_hash.hpp.

◆ key_equal

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
typedef Pred key_equal

Definition at line 157 of file closed_hash.hpp.

◆ allocator_type

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
typedef A allocator_type

Definition at line 158 of file closed_hash.hpp.

◆ pointer

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
typedef value_type* pointer

Definition at line 159 of file closed_hash.hpp.

◆ const_pointer

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
typedef const value_type* const_pointer

Definition at line 160 of file closed_hash.hpp.

◆ reference

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
typedef value_type& reference

Definition at line 161 of file closed_hash.hpp.

◆ const_reference

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
typedef const value_type& const_reference

Definition at line 162 of file closed_hash.hpp.

◆ size_type

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
typedef std::size_t size_type

Definition at line 163 of file closed_hash.hpp.

◆ difference_type

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
typedef std::ptrdiff_t difference_type

Definition at line 164 of file closed_hash.hpp.

◆ iterator

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
typedef implementation::closed_hash_iterator<closed_hash_set, value_type> iterator

Definition at line 169 of file closed_hash.hpp.

◆ const_iterator

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
typedef implementation::closed_hash_iterator<closed_hash_set, const value_type> const_iterator

Definition at line 170 of file closed_hash.hpp.

◆ reverse_iterator

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
typedef std::reverse_iterator<iterator> reverse_iterator

Definition at line 172 of file closed_hash.hpp.

◆ const_reverse_iterator

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
typedef std::reverse_iterator<const_iterator> const_reverse_iterator

Definition at line 173 of file closed_hash.hpp.

Constructor & Destructor Documentation

◆ closed_hash_set() [1/8]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
closed_hash_set ( )

Definition at line 276 of file closed_hash.hpp.

◆ closed_hash_set() [2/8]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
closed_hash_set ( size_type n)
explicit

Definition at line 278 of file closed_hash.hpp.

◆ closed_hash_set() [3/8]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
closed_hash_set ( size_type n,
const hasher & hf,
const key_equal & eq = key_equal(),
const key_transform & kf = key_transform(),
const allocator_type & a = allocator_type() )

Definition at line 283 of file closed_hash.hpp.

◆ closed_hash_set() [4/8]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
template<typename I>
closed_hash_set ( I f,
I l )

Definition at line 294 of file closed_hash.hpp.

◆ closed_hash_set() [5/8]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
closed_hash_set ( std::initializer_list< value_type > init)

Definition at line 299 of file closed_hash.hpp.

◆ closed_hash_set() [6/8]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
template<typename I>
closed_hash_set ( I f,
I l,
size_type n,
const hasher & hf = hasher(),
const key_equal & eq = key_equal(),
const key_transform & kf = key_transform(),
const allocator_type & a = allocator_type() )

Definition at line 305 of file closed_hash.hpp.

◆ closed_hash_set() [7/8]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
closed_hash_set ( const closed_hash_set< T, KeyTransform, Hash, Pred, A > & x)

Definition at line 316 of file closed_hash.hpp.

◆ closed_hash_set() [8/8]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
closed_hash_set ( closed_hash_set< T, KeyTransform, Hash, Pred, A > && x)
noexcept

Definition at line 330 of file closed_hash.hpp.

◆ ~closed_hash_set()

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
~closed_hash_set ( )

Definition at line 518 of file closed_hash.hpp.

Member Function Documentation

◆ operator=()

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
closed_hash_set & operator= ( closed_hash_set< T, KeyTransform, Hash, Pred, A > x)

Definition at line 321 of file closed_hash.hpp.

◆ get_allocator()

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
allocator_type get_allocator ( ) const

Definition at line 326 of file closed_hash.hpp.

◆ size()

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
size_type size ( ) const

Definition at line 334 of file closed_hash.hpp.

◆ max_size()

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
size_type max_size ( ) const

Definition at line 335 of file closed_hash.hpp.

◆ empty()

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
bool empty ( ) const

Definition at line 336 of file closed_hash.hpp.

◆ capacity()

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
size_type capacity ( ) const

Definition at line 337 of file closed_hash.hpp.

◆ reserve()

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
void reserve ( size_type n)

Definition at line 339 of file closed_hash.hpp.

◆ key_function()

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
key_transform key_function ( ) const

Definition at line 352 of file closed_hash.hpp.

◆ hash_function()

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
hasher hash_function ( ) const

Definition at line 353 of file closed_hash.hpp.

◆ key_eq()

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
key_equal key_eq ( ) const

Definition at line 354 of file closed_hash.hpp.

◆ begin() [1/2]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
iterator begin ( )

Definition at line 356 of file closed_hash.hpp.

◆ end() [1/2]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
iterator end ( )

Definition at line 357 of file closed_hash.hpp.

◆ begin() [2/2]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
const_iterator begin ( ) const

Definition at line 359 of file closed_hash.hpp.

◆ end() [2/2]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
const_iterator end ( ) const

Definition at line 360 of file closed_hash.hpp.

◆ rbegin() [1/2]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
reverse_iterator rbegin ( )

Definition at line 364 of file closed_hash.hpp.

◆ rend() [1/2]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
reverse_iterator rend ( )

Definition at line 365 of file closed_hash.hpp.

◆ rbegin() [2/2]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
const_reverse_iterator rbegin ( ) const

Definition at line 367 of file closed_hash.hpp.

◆ rend() [2/2]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
const_reverse_iterator rend ( ) const

Definition at line 368 of file closed_hash.hpp.

◆ erase() [1/2]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
iterator erase ( iterator location)

Definition at line 370 of file closed_hash.hpp.

◆ erase() [2/2]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
std::size_t erase ( const key_type & key)

Definition at line 389 of file closed_hash.hpp.

◆ clear()

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
void clear ( )

Definition at line 397 of file closed_hash.hpp.

◆ find() [1/4]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
const_iterator find ( const key_type & key) const

Definition at line 402 of file closed_hash.hpp.

◆ find() [2/4]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
const_iterator find ( const key_type & key,
std::size_t hash ) const

Definition at line 404 of file closed_hash.hpp.

◆ find() [3/4]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
iterator find ( const key_type & key)

Definition at line 408 of file closed_hash.hpp.

◆ find() [4/4]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
iterator find ( const key_type & key,
std::size_t hash )

Definition at line 410 of file closed_hash.hpp.

◆ equal_range() [1/4]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
std::pair< const_iterator, const_iterator > equal_range ( const key_type & key) const

Definition at line 423 of file closed_hash.hpp.

◆ equal_range() [2/4]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
std::pair< const_iterator, const_iterator > equal_range ( const key_type & key,
size_t hash ) const

Definition at line 427 of file closed_hash.hpp.

◆ equal_range() [3/4]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
std::pair< iterator, iterator > equal_range ( const key_type & key)

Definition at line 435 of file closed_hash.hpp.

◆ equal_range() [4/4]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
std::pair< iterator, iterator > equal_range ( const key_type & key,
std::size_t hash )

Definition at line 439 of file closed_hash.hpp.

◆ count() [1/2]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
std::size_t count ( const key_type & key) const

Definition at line 447 of file closed_hash.hpp.

◆ count() [2/2]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
std::size_t count ( const key_type & key,
std::size_t hash ) const

Definition at line 448 of file closed_hash.hpp.

◆ insert() [1/4]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
template<typename I>
void insert ( I first,
I last )

Definition at line 453 of file closed_hash.hpp.

◆ move_insert()

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
template<typename I>
void move_insert ( I first,
I last )

Definition at line 461 of file closed_hash.hpp.

◆ insert() [2/4]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
std::pair< iterator, bool > insert ( value_type x)

Definition at line 468 of file closed_hash.hpp.

◆ insert() [3/4]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
std::pair< iterator, bool > insert ( value_type x,
std::size_t hash )

Definition at line 478 of file closed_hash.hpp.

◆ insert() [4/4]

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
iterator insert ( iterator ,
value_type x )

Definition at line 516 of file closed_hash.hpp.

◆ swap

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
void swap ( closed_hash_set< T, KeyTransform, Hash, Pred, A > & x,
closed_hash_set< T, KeyTransform, Hash, Pred, A > & y )
friend

Definition at line 527 of file closed_hash.hpp.

◆ operator==

template<typename T, typename KeyTransform, typename Hash, typename Pred, typename A>
bool operator== ( const closed_hash_set< T, KeyTransform, Hash, Pred, A > & x,
const closed_hash_set< T, KeyTransform, Hash, Pred, A > & y )
friend

Definition at line 529 of file closed_hash.hpp.