📄 hash_map.html
字号:
<HTML><!-- -- Copyright (c) 1996-1999 -- Silicon Graphics Computer Systems, Inc. -- -- Permission to use, copy, modify, distribute and sell this software -- and its documentation for any purpose is hereby granted without fee, -- provided that the above copyright notice appears in all copies and -- that both that copyright notice and this permission notice appear -- in supporting documentation. Silicon Graphics makes no -- representations about the suitability of this software for any -- purpose. It is provided "as is" without express or implied warranty. -- -- Copyright (c) 1994 -- Hewlett-Packard Company -- -- Permission to use, copy, modify, distribute and sell this software -- and its documentation for any purpose is hereby granted without fee, -- provided that the above copyright notice appears in all copies and -- that both that copyright notice and this permission notice appear -- in supporting documentation. Hewlett-Packard Company makes no -- representations about the suitability of this software for any -- purpose. It is provided "as is" without express or implied warranty. -- --><Head><Title>hash_map<Key, Data, HashFcn, EqualKey, Alloc></Title><!-- Generated by htmldoc --></HEAD><BODY TEXT="#000000" LINK="#006600" ALINK="#003300" VLINK="#7C7F87" BGCOLOR="#FFFFFF"><A HREF="/"><IMG SRC="/images/common/sgilogo_small.gif" ALT="SGI Logo" WIDTH="80" HEIGHT="72" BORDER="0"></A><P><!--end header--><BR Clear><H1>hash_map<Key, Data, HashFcn, EqualKey, Alloc></H1><Table CellPadding=0 CellSpacing=0 width=100%><TR><TD Align=left><Img src = "containers.gif" Alt="" WIDTH = "194" HEIGHT = "38" ></TD><TD Align=right><Img src = "type.gif" Alt="" WIDTH = "194" HEIGHT = "38" ></TD></TR><TR><TD Align=left VAlign=top><b>Category</b>: containers</TD><TD Align=right VAlign=top><b>Component type</b>: type</TD></TR></Table><h3>Description</h3><tt>Hash_map</tt> is a<A href="HashedAssociativeContainer.html">Hashed Associative Container</A>that associates objects of type <tt>Key</tt> withobjects of type <tt>Data</tt>. <tt>Hash_map</tt> is a <A href="PairAssociativeContainer.html">Pair Associative Container</A>,meaning that its value type is<tt><A href="pair.html">pair</A><const Key, Data></tt>. It is also a <A href="UniqueAssociativeContainer.html">Unique Associative Container</A>,meaning that no two elements have keys that compareequal using <tt>EqualKey</tt>.<P>Looking up an element in a <tt>hash_map</tt> by its key is efficient,so <tt>hash_map</tt> is useful for "dictionaries" where theorder of elements is irrelevant. If it is important for the elementsto be in a particular order, however, then<tt><A href="Map.html">map</A></tt> is more appropriate.<h3>Example</h3><pre>struct eqstr{ bool operator()(const char* s1, const char* s2) const { return strcmp(s1, s2) == 0; }};int main(){ hash_map<const char*, int, hash<const char*>, eqstr> months; months["january"] = 31; months["february"] = 28; months["march"] = 31; months["april"] = 30; months["may"] = 31; months["june"] = 30; months["july"] = 31; months["august"] = 31; months["september"] = 30; months["october"] = 31; months["november"] = 30; months["december"] = 31; cout << "september -> " << months["september"] << endl; cout << "april -> " << months["april"] << endl; cout << "june -> " << months["june"] << endl; cout << "november -> " << months["november"] << endl;}</pre><h3>Definition</h3>Defined in the header <A href="hash_map">hash_map</A>, and in the backward-compatibilityheader <A href="hash_map.h">hash_map.h</A>. This class is an SGI extension; it is not partof the C++ standard.<h3>Template parameters</h3><Table border><TR><TH>Parameter</TH><TH>Description</TH><TH>Default</TH></TR><TR><TD VAlign=top><tt>Key</tt></TD><TD VAlign=top>The hash_map's key type. This is also defined as <tt>hash_map::key_type</tt>.</TD><TD VAlign=top> </TD></TR><TR><TD VAlign=top><tt>Data</tt></TD><TD VAlign=top>The hash_map's data type. This is also defined as <tt>hash_map::data_type</tt>.</TD><TD VAlign=top> </TD></TR><TR><TD VAlign=top><tt>HashFcn</tt></TD><TD VAlign=top>The <A href="HashFunction.html">hash function</A> used by the hash_map. This is also defined as <tt>hash_map::hasher</tt>. </TD><TD VAlign=top><tt><A href="hash.html">hash</A><Key></tt></TD></TR><TR><TD VAlign=top><tt>EqualKey</tt></TD><TD VAlign=top>The hash_map key equality function: a <A href="BinaryPredicate.html">binary predicate</A> that determines whether two keys are equal. This is also defined as <tt>hash_map::key_equal</tt>.</TD><TD VAlign=top><tt><A href="equal_to.html">equal_to</A><Key></tt></TD></TR><TR><TD VAlign=top><tt>Alloc</tt></TD><TD VAlign=top>The <tt>hash_map</tt>'s allocator, used for all internal memory management.</TD><TD VAlign=top><tt><A href="Allocators.html">alloc</A></tt></TD></tr></table><h3>Model of</h3><A href="UniqueHashedAssociativeContainer.html">Unique Hashed Associative Container</A>,<A href="PairAssociativeContainer.html">Pair Associative Container</A><h3>Type requirements</h3><UL><LI><tt>Key</tt> is <A href="Assignable.html">Assignable</A>.<LI><tt>EqualKey</tt> is a <A href="BinaryPredicate.html">Binary Predicate</A> whose argument type is <tt>Key</tt>.<LI><tt>EqualKey</tt> is an equivalence relation.<LI><tt>Alloc</tt> is an <A href="Allocators.html">Allocator</A>.</UL><h3>Public base classes</h3>None.<h3>Members</h3><Table border><TR><TH>Member</TH><TH>Where defined</TH><TH>Description</TH></TR><TR><TD VAlign=top><tt>key_type</tt></TD><TD VAlign=top> <A href="AssociativeContainer.html">Associative Container</A></TD><TD VAlign=top>The <tt>hash_map</tt>'s key type, <tt>Key</tt>.</TD></TR><TR><TD VAlign=top><tt>data_type</tt></TD><TD VAlign=top> <A href="PairAssociativeContainer.html">Pair Associative Container</A></TD><TD VAlign=top>The type of object associated with the keys.</TD></TR><TR><TD VAlign=top><tt>value_type</tt></TD><TD VAlign=top> <A href="PairAssociativeContainer.html">Pair Associative Container</A></TD><TD VAlign=top>The type of object, <tt>pair<const key_type, data_type></tt>, stored in the hash_map.</TD></TR><TR><TD VAlign=top><tt>hasher</tt></TD><TD VAlign=top> <A href="HashedAssociativeContainer.html">Hashed Associative Container</A></TD><TD VAlign=top>The <tt>hash_map</tt>'s <A href="HashFunction.html">hash function</A>.</TD></TR><TR><TD VAlign=top><tt>key_equal</tt></TD><TD VAlign=top> <A href="HashedAssociativeContainer.html">Hashed Associative Container</A></TD><TD VAlign=top> <A href="functors.html">Function object</A> that compares keys for equality.</TD></TR><TR><TD VAlign=top><tt>pointer</tt></TD><TD VAlign=top> <A href="Container.html">Container</A></TD><TD VAlign=top>Pointer to <tt>T</tt>.</TD></TR><TR><TD VAlign=top><tt>reference</tt></TD><TD VAlign=top> <A href="Container.html">Container</A></TD><TD VAlign=top>Reference to <tt>T</tt></TD></TR><TR><TD VAlign=top><tt>const_reference</tt></TD><TD VAlign=top> <A href="Container.html">Container</A></TD><TD VAlign=top>Const reference to <tt>T</tt></TD></TR><TR><TD VAlign=top><tt>size_type</tt></TD><TD VAlign=top> <A href="Container.html">Container</A></TD><TD VAlign=top>An unsigned integral type.</TD></TR><TR><TD VAlign=top><tt>difference_type</tt></TD><TD VAlign=top> <A href="Container.html">Container</A></TD><TD VAlign=top>A signed integral type.</TD></TR><TR><TD VAlign=top><tt>iterator</tt></TD><TD VAlign=top> <A href="Container.html">Container</A></TD><TD VAlign=top>Iterator used to iterate through a <tt>hash_map</tt>. <A href="#1">[1]</A></TD></TR><TR><TD VAlign=top><tt>const_iterator</tt></TD><TD VAlign=top> <A href="Container.html">Container</A></TD><TD VAlign=top>Const iterator used to iterate through a <tt>hash_map</tt>.</TD></TR><TR><TD VAlign=top><tt>iterator begin()</tt></TD><TD VAlign=top> <A href="Container.html">Container</A></TD><TD VAlign=top>Returns an <tt>iterator</tt> pointing to the beginning of the <tt>hash_map</tt>.</TD></TR><TR><TD VAlign=top><tt>iterator end()</tt></TD><TD VAlign=top> <A href="Container.html">Container</A></TD><TD VAlign=top>Returns an <tt>iterator</tt> pointing to the end of the <tt>hash_map</tt>.</TD></TR><TR><TD VAlign=top><tt>const_iterator begin() const</tt></TD><TD VAlign=top> <A href="Container.html">Container</A></TD><TD VAlign=top>Returns an <tt>const_iterator</tt> pointing to the beginning of the <tt>hash_map</tt>.</TD></TR><TR><TD VAlign=top><tt>const_iterator end() const</tt></TD><TD VAlign=top> <A href="Container.html">Container</A></TD><TD VAlign=top>Returns an <tt>const_iterator</tt> pointing to the end of the <tt>hash_map</tt>.</TD></TR><TR><TD VAlign=top><tt>size_type size() const</tt></TD><TD VAlign=top> <A href="Container.html">Container</A></TD><TD VAlign=top>Returns the size of the <tt>hash_map</tt>.</TD></TR><TR><TD VAlign=top><tt>size_type max_size() const</tt></TD><TD VAlign=top> <A href="Container.html">Container</A></TD><TD VAlign=top>Returns the largest possible size of the <tt>hash_map</tt>.</TD></TR><TR><TD VAlign=top><tt>bool empty() const</tt></TD><TD VAlign=top> <A href="Container.html">Container</A></TD><TD VAlign=top><tt>true</tt> if the <tt>hash_map</tt>'s size is <tt>0</tt>.</TD></TR><TR><TD VAlign=top><tt>size_type bucket_count() const</tt></TD><TD VAlign=top> <A href="HashedAssociativeContainer.html">Hashed Associative Container</A></TD><TD VAlign=top>Returns the number of buckets used by the <tt>hash_map</tt>.</TD></TR><TR><TD VAlign=top><tt>void resize(size_type n)</tt></TD><TD VAlign=top> <A href="HashedAssociativeContainer.html">Hashed Associative Container</A></TD><TD VAlign=top>Increases the bucket count to at least <tt>n</tt>.</TD></TR><TR><TD VAlign=top><tt>hasher hash_funct() const</tt></TD><TD VAlign=top> <A href="HashedAssociativeContainer.html">Hashed Associative Container</A>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -