Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
google::protobuf::Map< Key, T >::InnerMap Class Reference
Inheritance diagram for google::protobuf::Map< Key, T >::InnerMap:
Inheritance graph
[legend]

Classes

struct  iterator_base
 
struct  KeyCompare
 
struct  Node
 

Public Types

typedef iterator_base< const KeyValuePairconst_iterator
 
typedef iterator_base< KeyValuePairiterator
 
typedef value_typeValue
 

Public Member Functions

iterator begin ()
 
const_iterator begin () const
 
void clear ()
 
bool contains (const Key &k) const
 
bool empty () const
 
iterator end ()
 
const_iterator end () const
 
void erase (iterator it)
 
iterator find (const Key &k)
 
const_iterator find (const Key &k) const
 
const hasherhash_function () const
 
 InnerMap (size_type n, hasher h, Allocator alloc)
 
std::pair< iterator, bool > insert (const Key &k)
 
std::pair< iterator, bool > insert (const KeyValuePair &kv)
 
Valueoperator[] (const Key &k)
 
size_type size () const
 
 ~InnerMap ()
 

Static Public Member Functions

static size_type max_size ()
 

Private Types

enum  { kMinTableSize = 8 }
 
typedef Allocator::template rebind< Key * >::other KeyPtrAllocator
 
typedef std::set< Key *, KeyCompare, KeyPtrAllocatorTree
 
typedef Tree::iterator TreeIterator
 

Private Member Functions

template<typename U >
U * Alloc (size_type n)
 
size_type BucketNumber (const Key &k) const
 
size_type CopyListToTree (size_type b, Tree *tree)
 
void ** CreateEmptyTable (size_type n)
 
template<typename U >
void Dealloc (U *t, size_type n)
 
void DestroyNode (Node *node)
 
void DestroyTree (Tree *tree)
 
NodeEraseFromLinkedList (Node *item, Node *head)
 
const_iterator find (const Key &k, TreeIterator *it) const
 
std::pair< const_iterator, size_typeFindHelper (const Key &k) const
 
std::pair< const_iterator, size_typeFindHelper (const Key &k, TreeIterator *it) const
 
 GOOGLE_DISALLOW_EVIL_CONSTRUCTORS (InnerMap)
 
iterator InsertUnique (size_type b, Node *node)
 
iterator InsertUniqueInList (size_type b, Node *node)
 
iterator InsertUniqueInTree (size_type b, Node *node)
 
bool IsMatch (const Key &k0, const Key &k1) const
 
void Resize (size_t new_num_buckets)
 
bool ResizeIfLoadIsOutOfRange (size_type new_size)
 
size_type Seed () const
 
bool TableEntryIsEmpty (size_type b) const
 
bool TableEntryIsList (size_type b) const
 
bool TableEntryIsNonEmptyList (size_type b) const
 
bool TableEntryIsTooLong (size_type b)
 
bool TableEntryIsTree (size_type b) const
 
size_type TableSize (size_type n)
 
void TransferList (void *const *table, size_type index)
 
void TransferTree (void *const *table, size_type index)
 
void TreeConvert (size_type b)
 

Static Private Member Functions

static Key * KeyPtrFromNodePtr (Node *node)
 
static NodeNodePtrFromKeyPtr (Key *k)
 
static bool TableEntryIsEmpty (void *const *table, size_type b)
 
static bool TableEntryIsList (void *const *table, size_type b)
 
static bool TableEntryIsNonEmptyList (void *const *table, size_type b)
 
static bool TableEntryIsTree (void *const *table, size_type b)
 

Private Attributes

Allocator alloc_
 
size_type index_of_first_non_null_
 
size_type num_buckets_
 
size_type num_elements_
 
size_type seed_
 
void ** table_
 

Detailed Description

template<typename Key, typename T>
class google::protobuf::Map< Key, T >::InnerMap

Definition at line 334 of file map.h.

Member Typedef Documentation

◆ const_iterator

template<typename Key , typename T >
typedef iterator_base<const KeyValuePair> google::protobuf::Map< Key, T >::InnerMap::const_iterator

Definition at line 512 of file map.h.

◆ iterator

template<typename Key , typename T >
typedef iterator_base<KeyValuePair> google::protobuf::Map< Key, T >::InnerMap::iterator

Definition at line 511 of file map.h.

◆ KeyPtrAllocator

template<typename Key , typename T >
typedef Allocator::template rebind<Key*>::other google::protobuf::Map< Key, T >::InnerMap::KeyPtrAllocator
private

Definition at line 379 of file map.h.

◆ Tree

template<typename Key , typename T >
typedef std::set<Key*, KeyCompare, KeyPtrAllocator> google::protobuf::Map< Key, T >::InnerMap::Tree
private

Definition at line 380 of file map.h.

◆ TreeIterator

template<typename Key , typename T >
typedef Tree::iterator google::protobuf::Map< Key, T >::InnerMap::TreeIterator
private

Definition at line 381 of file map.h.

◆ Value

template<typename Key , typename T >
typedef value_type* google::protobuf::Map< Key, T >::InnerMap::Value

Definition at line 336 of file map.h.

Member Enumeration Documentation

◆ anonymous enum

template<typename Key , typename T >
anonymous enum
private
Enumerator
kMinTableSize 

Definition at line 357 of file map.h.

Constructor & Destructor Documentation

◆ InnerMap()

template<typename Key , typename T >
google::protobuf::Map< Key, T >::InnerMap::InnerMap ( size_type  n,
hasher  h,
Allocator  alloc 
)
inline

Definition at line 338 of file map.h.

◆ ~InnerMap()

template<typename Key , typename T >
google::protobuf::Map< Key, T >::InnerMap::~InnerMap ( )
inline

Definition at line 349 of file map.h.

Member Function Documentation

◆ Alloc()

template<typename Key , typename T >
template<typename U >
U* google::protobuf::Map< Key, T >::InnerMap::Alloc ( size_type  n)
inlineprivate

Definition at line 906 of file map.h.

◆ begin() [1/2]

template<typename Key , typename T >
iterator google::protobuf::Map< Key, T >::InnerMap::begin ( )
inline

Definition at line 514 of file map.h.

◆ begin() [2/2]

template<typename Key , typename T >
const_iterator google::protobuf::Map< Key, T >::InnerMap::begin ( ) const
inline

Definition at line 516 of file map.h.

◆ BucketNumber()

template<typename Key , typename T >
size_type google::protobuf::Map< Key, T >::InnerMap::BucketNumber ( const Key &  k) const
inlineprivate

Definition at line 886 of file map.h.

◆ clear()

template<typename Key , typename T >
void google::protobuf::Map< Key, T >::InnerMap::clear ( )
inline

Definition at line 519 of file map.h.

◆ contains()

template<typename Key , typename T >
bool google::protobuf::Map< Key, T >::InnerMap::contains ( const Key &  k) const
inline

Definition at line 560 of file map.h.

◆ CopyListToTree()

template<typename Key , typename T >
size_type google::protobuf::Map< Key, T >::InnerMap::CopyListToTree ( size_type  b,
Tree tree 
)
inlineprivate

Definition at line 858 of file map.h.

◆ CreateEmptyTable()

template<typename Key , typename T >
void** google::protobuf::Map< Key, T >::InnerMap::CreateEmptyTable ( size_type  n)
inlineprivate

Definition at line 929 of file map.h.

◆ Dealloc()

template<typename Key , typename T >
template<typename U >
void google::protobuf::Map< Key, T >::InnerMap::Dealloc ( U *  t,
size_type  n 
)
inlineprivate

Definition at line 913 of file map.h.

◆ DestroyNode()

template<typename Key , typename T >
void google::protobuf::Map< Key, T >::InnerMap::DestroyNode ( Node node)
inlineprivate

Definition at line 918 of file map.h.

◆ DestroyTree()

template<typename Key , typename T >
void google::protobuf::Map< Key, T >::InnerMap::DestroyTree ( Tree tree)
inlineprivate

Definition at line 923 of file map.h.

◆ empty()

template<typename Key , typename T >
bool google::protobuf::Map< Key, T >::InnerMap::empty ( ) const
inline

Definition at line 556 of file map.h.

◆ end() [1/2]

template<typename Key , typename T >
iterator google::protobuf::Map< Key, T >::InnerMap::end ( )
inline

Definition at line 515 of file map.h.

◆ end() [2/2]

template<typename Key , typename T >
const_iterator google::protobuf::Map< Key, T >::InnerMap::end ( ) const
inline

Definition at line 517 of file map.h.

◆ erase()

template<typename Key , typename T >
void google::protobuf::Map< Key, T >::InnerMap::erase ( iterator  it)
inline

Definition at line 605 of file map.h.

◆ EraseFromLinkedList()

template<typename Key , typename T >
Node* google::protobuf::Map< Key, T >::InnerMap::EraseFromLinkedList ( Node item,
Node head 
)
inlineprivate

Definition at line 805 of file map.h.

◆ find() [1/3]

template<typename Key , typename T >
iterator google::protobuf::Map< Key, T >::InnerMap::find ( const Key &  k)
inline

Definition at line 558 of file map.h.

◆ find() [2/3]

template<typename Key , typename T >
const_iterator google::protobuf::Map< Key, T >::InnerMap::find ( const Key &  k) const
inline

Definition at line 559 of file map.h.

◆ find() [3/3]

template<typename Key , typename T >
const_iterator google::protobuf::Map< Key, T >::InnerMap::find ( const Key &  k,
TreeIterator it 
) const
inlineprivate

Definition at line 639 of file map.h.

◆ FindHelper() [1/2]

template<typename Key , typename T >
std::pair<const_iterator, size_type> google::protobuf::Map< Key, T >::InnerMap::FindHelper ( const Key &  k) const
inlineprivate

Definition at line 642 of file map.h.

◆ FindHelper() [2/2]

template<typename Key , typename T >
std::pair<const_iterator, size_type> google::protobuf::Map< Key, T >::InnerMap::FindHelper ( const Key &  k,
TreeIterator it 
) const
inlineprivate

Definition at line 645 of file map.h.

◆ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS()

template<typename Key , typename T >
google::protobuf::Map< Key, T >::InnerMap::GOOGLE_DISALLOW_EVIL_CONSTRUCTORS ( InnerMap  )
private

◆ hash_function()

template<typename Key , typename T >
const hasher& google::protobuf::Map< Key, T >::InnerMap::hash_function ( ) const
inline

Definition at line 550 of file map.h.

◆ insert() [1/2]

template<typename Key , typename T >
std::pair<iterator, bool> google::protobuf::Map< Key, T >::InnerMap::insert ( const Key &  k)
inline

Definition at line 582 of file map.h.

◆ insert() [2/2]

template<typename Key , typename T >
std::pair<iterator, bool> google::protobuf::Map< Key, T >::InnerMap::insert ( const KeyValuePair kv)
inline

Definition at line 563 of file map.h.

◆ InsertUnique()

template<typename Key , typename T >
iterator google::protobuf::Map< Key, T >::InnerMap::InsertUnique ( size_type  b,
Node node 
)
inlineprivate

Definition at line 675 of file map.h.

◆ InsertUniqueInList()

template<typename Key , typename T >
iterator google::protobuf::Map< Key, T >::InnerMap::InsertUniqueInList ( size_type  b,
Node node 
)
inlineprivate

Definition at line 709 of file map.h.

◆ InsertUniqueInTree()

template<typename Key , typename T >
iterator google::protobuf::Map< Key, T >::InnerMap::InsertUniqueInTree ( size_type  b,
Node node 
)
inlineprivate

Definition at line 717 of file map.h.

◆ IsMatch()

template<typename Key , typename T >
bool google::protobuf::Map< Key, T >::InnerMap::IsMatch ( const Key &  k0,
const Key &  k1 
) const
inlineprivate

Definition at line 892 of file map.h.

◆ KeyPtrFromNodePtr()

template<typename Key , typename T >
static Key* google::protobuf::Map< Key, T >::InnerMap::KeyPtrFromNodePtr ( Node node)
inlinestaticprivate

Definition at line 371 of file map.h.

◆ max_size()

template<typename Key , typename T >
static size_type google::protobuf::Map< Key, T >::InnerMap::max_size ( )
inlinestatic

Definition at line 552 of file map.h.

◆ NodePtrFromKeyPtr()

template<typename Key , typename T >
static Node* google::protobuf::Map< Key, T >::InnerMap::NodePtrFromKeyPtr ( Key *  k)
inlinestaticprivate

Definition at line 367 of file map.h.

◆ operator[]()

template<typename Key , typename T >
Value& google::protobuf::Map< Key, T >::InnerMap::operator[] ( const Key &  k)
inline

Definition at line 600 of file map.h.

◆ Resize()

template<typename Key , typename T >
void google::protobuf::Map< Key, T >::InnerMap::Resize ( size_t  new_num_buckets)
inlineprivate

Definition at line 768 of file map.h.

◆ ResizeIfLoadIsOutOfRange()

template<typename Key , typename T >
bool google::protobuf::Map< Key, T >::InnerMap::ResizeIfLoadIsOutOfRange ( size_type  new_size)
inlineprivate

Definition at line 734 of file map.h.

◆ Seed()

template<typename Key , typename T >
size_type google::protobuf::Map< Key, T >::InnerMap::Seed ( ) const
inlineprivate

Definition at line 938 of file map.h.

◆ size()

template<typename Key , typename T >
size_type google::protobuf::Map< Key, T >::InnerMap::size ( ) const
inline

Definition at line 555 of file map.h.

◆ TableEntryIsEmpty() [1/2]

template<typename Key , typename T >
bool google::protobuf::Map< Key, T >::InnerMap::TableEntryIsEmpty ( size_type  b) const
inlineprivate

Definition at line 814 of file map.h.

◆ TableEntryIsEmpty() [2/2]

template<typename Key , typename T >
static bool google::protobuf::Map< Key, T >::InnerMap::TableEntryIsEmpty ( void *const *  table,
size_type  b 
)
inlinestaticprivate

Definition at line 826 of file map.h.

◆ TableEntryIsList() [1/2]

template<typename Key , typename T >
bool google::protobuf::Map< Key, T >::InnerMap::TableEntryIsList ( size_type  b) const
inlineprivate

Definition at line 823 of file map.h.

◆ TableEntryIsList() [2/2]

template<typename Key , typename T >
static bool google::protobuf::Map< Key, T >::InnerMap::TableEntryIsList ( void *const *  table,
size_type  b 
)
inlinestaticprivate

Definition at line 836 of file map.h.

◆ TableEntryIsNonEmptyList() [1/2]

template<typename Key , typename T >
bool google::protobuf::Map< Key, T >::InnerMap::TableEntryIsNonEmptyList ( size_type  b) const
inlineprivate

Definition at line 817 of file map.h.

◆ TableEntryIsNonEmptyList() [2/2]

template<typename Key , typename T >
static bool google::protobuf::Map< Key, T >::InnerMap::TableEntryIsNonEmptyList ( void *const *  table,
size_type  b 
)
inlinestaticprivate

Definition at line 829 of file map.h.

◆ TableEntryIsTooLong()

template<typename Key , typename T >
bool google::protobuf::Map< Key, T >::InnerMap::TableEntryIsTooLong ( size_type  b)
inlineprivate

Definition at line 873 of file map.h.

◆ TableEntryIsTree() [1/2]

template<typename Key , typename T >
bool google::protobuf::Map< Key, T >::InnerMap::TableEntryIsTree ( size_type  b) const
inlineprivate

Definition at line 820 of file map.h.

◆ TableEntryIsTree() [2/2]

template<typename Key , typename T >
static bool google::protobuf::Map< Key, T >::InnerMap::TableEntryIsTree ( void *const *  table,
size_type  b 
)
inlinestaticprivate

Definition at line 832 of file map.h.

◆ TableSize()

template<typename Key , typename T >
size_type google::protobuf::Map< Key, T >::InnerMap::TableSize ( size_type  n)
inlineprivate

Definition at line 898 of file map.h.

◆ TransferList()

template<typename Key , typename T >
void google::protobuf::Map< Key, T >::InnerMap::TransferList ( void *const *  table,
size_type  index 
)
inlineprivate

Definition at line 786 of file map.h.

◆ TransferTree()

template<typename Key , typename T >
void google::protobuf::Map< Key, T >::InnerMap::TransferTree ( void *const *  table,
size_type  index 
)
inlineprivate

Definition at line 795 of file map.h.

◆ TreeConvert()

template<typename Key , typename T >
void google::protobuf::Map< Key, T >::InnerMap::TreeConvert ( size_type  b)
inlineprivate

Definition at line 840 of file map.h.

Member Data Documentation

◆ alloc_

template<typename Key , typename T >
Allocator google::protobuf::Map< Key, T >::InnerMap::alloc_
private

Definition at line 954 of file map.h.

◆ index_of_first_non_null_

template<typename Key , typename T >
size_type google::protobuf::Map< Key, T >::InnerMap::index_of_first_non_null_
private

Definition at line 952 of file map.h.

◆ num_buckets_

template<typename Key , typename T >
size_type google::protobuf::Map< Key, T >::InnerMap::num_buckets_
private

Definition at line 950 of file map.h.

◆ num_elements_

template<typename Key , typename T >
size_type google::protobuf::Map< Key, T >::InnerMap::num_elements_
private

Definition at line 949 of file map.h.

◆ seed_

template<typename Key , typename T >
size_type google::protobuf::Map< Key, T >::InnerMap::seed_
private

Definition at line 951 of file map.h.

◆ table_

template<typename Key , typename T >
void** google::protobuf::Map< Key, T >::InnerMap::table_
private

Definition at line 953 of file map.h.


The documentation for this class was generated from the following file:


libaditof
Author(s):
autogenerated on Wed May 21 2025 02:07:08