Adobe Source Libraries 1.49.0
A collection of C++ libraries.
Loading...
Searching...
No Matches
hash_index< T, H, C, P > Class Template Reference

#include <table_index.hpp>

Public Types

typedef T value_type
typedef P key_function_type
using key_type
typedef H hasher
typedef C key_equal
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 unary_compose< key_function_type, indirect< value_type > > indirect_key_function_type
typedef closed_hash_set< pointer, indirect_key_function_type, hasher, key_equalindex_type
typedef boost::indirect_iterator< typename index_type::iterator > iterator
typedef boost::indirect_iterator< typename index_type::const_iterator > const_iterator
typedef std::reverse_iterator< iteratorreverse_iterator
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator

Public Member Functions

 hash_index ()
template<typename F>
 hash_index (hasher hf, key_equal eq, F kf)
size_type max_size () const
size_type size () const
bool empty () const
size_type capacity () const
void reserve (size_type)
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
std::pair< iterator, bool > insert (value_type &x)
template<typename I>
void insert (I f, I l)
iterator insert (iterator i, value_type &x)
iterator erase (iterator i)
size_type erase (const key_type &x)
void clear ()
index_typeindex ()
const index_typeindex () const
iterator find (const key_type &x)
const_iterator find (const key_type &x) const
size_type count (const key_type &x) const
iterator lower_bound (const key_type &)
const_iterator lower_bound (const key_type &) const
iterator upper_bound (const key_type &)
const_iterator upper_bound (const key_type &) const
std::pair< iterator, iteratorequal_range (const key_type &x)
std::pair< const_iterator, const_iteratorequal_range (const key_type &x) const
key_function_type key_function () const
hasher hash_function () const
key_equal key_eq () const

Friends

void swap (hash_index &x, hash_index &y)

Detailed Description

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
class adobe::hash_index< T, H, C, P >

Definition at line 542 of file table_index.hpp.

Member Typedef Documentation

◆ value_type

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
typedef T value_type

Definition at line 544 of file table_index.hpp.

◆ key_function_type

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
typedef P key_function_type

Definition at line 545 of file table_index.hpp.

◆ key_type

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
using key_type

Definition at line 547 of file table_index.hpp.

◆ hasher

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
typedef H hasher

Definition at line 549 of file table_index.hpp.

◆ key_equal

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
typedef C key_equal

Definition at line 550 of file table_index.hpp.

◆ pointer

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
typedef value_type* pointer

Definition at line 551 of file table_index.hpp.

◆ const_pointer

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
typedef const value_type* const_pointer

Definition at line 552 of file table_index.hpp.

◆ reference

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
typedef value_type& reference

Definition at line 553 of file table_index.hpp.

◆ const_reference

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
typedef const value_type& const_reference

Definition at line 554 of file table_index.hpp.

◆ size_type

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
typedef std::size_t size_type

Definition at line 555 of file table_index.hpp.

◆ difference_type

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
typedef std::ptrdiff_t difference_type

Definition at line 556 of file table_index.hpp.

◆ indirect_key_function_type

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
typedef unary_compose<key_function_type, indirect<value_type> > indirect_key_function_type

Definition at line 558 of file table_index.hpp.

◆ index_type

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
typedef closed_hash_set<pointer, indirect_key_function_type, hasher, key_equal> index_type

Definition at line 560 of file table_index.hpp.

◆ iterator

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
typedef boost::indirect_iterator<typename index_type::iterator> iterator

Definition at line 562 of file table_index.hpp.

◆ const_iterator

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
typedef boost::indirect_iterator<typename index_type::const_iterator> const_iterator

Definition at line 563 of file table_index.hpp.

◆ reverse_iterator

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
typedef std::reverse_iterator<iterator> reverse_iterator

Definition at line 564 of file table_index.hpp.

◆ const_reverse_iterator

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
typedef std::reverse_iterator<const_iterator> const_reverse_iterator

Definition at line 565 of file table_index.hpp.

Constructor & Destructor Documentation

◆ hash_index() [1/2]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
hash_index ( )

Definition at line 573 of file table_index.hpp.

◆ hash_index() [2/2]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
template<typename F>
hash_index ( hasher hf,
key_equal eq,
F kf )

Definition at line 580 of file table_index.hpp.

Member Function Documentation

◆ max_size()

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
size_type max_size ( ) const

Definition at line 584 of file table_index.hpp.

◆ size()

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
size_type size ( ) const

Definition at line 586 of file table_index.hpp.

◆ empty()

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
bool empty ( ) const

Definition at line 587 of file table_index.hpp.

◆ capacity()

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
size_type capacity ( ) const

Definition at line 588 of file table_index.hpp.

◆ reserve()

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
void reserve ( size_type )

Definition at line 590 of file table_index.hpp.

◆ begin() [1/2]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
iterator begin ( )

Definition at line 592 of file table_index.hpp.

◆ end() [1/2]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
iterator end ( )

Definition at line 593 of file table_index.hpp.

◆ begin() [2/2]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
const_iterator begin ( ) const

Definition at line 595 of file table_index.hpp.

◆ end() [2/2]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
const_iterator end ( ) const

Definition at line 596 of file table_index.hpp.

◆ rbegin() [1/2]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
reverse_iterator rbegin ( )

Definition at line 598 of file table_index.hpp.

◆ rend() [1/2]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
reverse_iterator rend ( )

Definition at line 599 of file table_index.hpp.

◆ rbegin() [2/2]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
const_reverse_iterator rbegin ( ) const

Definition at line 601 of file table_index.hpp.

◆ rend() [2/2]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
const_reverse_iterator rend ( ) const

Definition at line 602 of file table_index.hpp.

◆ insert() [1/3]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
std::pair< iterator, bool > insert ( value_type & x)

Definition at line 604 of file table_index.hpp.

◆ insert() [2/3]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
template<typename I>
void insert ( I f,
I l )

Definition at line 610 of file table_index.hpp.

◆ insert() [3/3]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
iterator insert ( iterator i,
value_type & x )

Definition at line 615 of file table_index.hpp.

◆ erase() [1/2]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
iterator erase ( iterator i)

Definition at line 617 of file table_index.hpp.

◆ erase() [2/2]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
size_type erase ( const key_type & x)

Definition at line 618 of file table_index.hpp.

◆ clear()

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
void clear ( )

Definition at line 620 of file table_index.hpp.

◆ index() [1/2]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
index_type & index ( )

Definition at line 622 of file table_index.hpp.

◆ index() [2/2]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
const index_type & index ( ) const

Definition at line 623 of file table_index.hpp.

◆ find() [1/2]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
iterator find ( const key_type & x)

Definition at line 625 of file table_index.hpp.

◆ find() [2/2]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
const_iterator find ( const key_type & x) const

Definition at line 626 of file table_index.hpp.

◆ count()

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
size_type count ( const key_type & x) const

Definition at line 627 of file table_index.hpp.

◆ lower_bound() [1/2]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
iterator lower_bound ( const key_type & )

Definition at line 629 of file table_index.hpp.

◆ lower_bound() [2/2]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
const_iterator lower_bound ( const key_type & ) const

Definition at line 630 of file table_index.hpp.

◆ upper_bound() [1/2]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
iterator upper_bound ( const key_type & )

Definition at line 633 of file table_index.hpp.

◆ upper_bound() [2/2]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
const_iterator upper_bound ( const key_type & ) const

Definition at line 634 of file table_index.hpp.

◆ equal_range() [1/2]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
std::pair< iterator, iterator > equal_range ( const key_type & x)

Definition at line 638 of file table_index.hpp.

◆ equal_range() [2/2]

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
std::pair< const_iterator, const_iterator > equal_range ( const key_type & x) const

Definition at line 643 of file table_index.hpp.

◆ key_function()

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
key_function_type key_function ( ) const

Definition at line 650 of file table_index.hpp.

◆ hash_function()

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
hasher hash_function ( ) const

Definition at line 651 of file table_index.hpp.

◆ key_eq()

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
key_equal key_eq ( ) const

Definition at line 652 of file table_index.hpp.

◆ swap

template<typename T, typename H = std::hash<T>, typename C = std::equal_to<T>, typename P = identity<T>>
void swap ( hash_index< T, H, C, P > & x,
hash_index< T, H, C, P > & y )
friend

Definition at line 654 of file table_index.hpp.