OSDN Git Service

2007-01-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / doc / html / ext / pb_ds / sample_resize_policy.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
4 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5 <head>
6   <meta name="generator" content=
7   "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
8
9   <title>sample_resize_policy Interface</title>
10   <meta http-equiv="Content-Type" content=
11   "text/html; charset=us-ascii" />
12   </head>
13
14 <body>
15   <div id="page">
16     <h1><tt>sample_resize_policy</tt> Interface</h1>
17
18     <p>A sample resize policy.</p>
19
20     <p>This class serves to show the interface a resize policy
21     needs to support.</p>
22
23     <p>Defined in: <a href=
24     "../../../../include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp"><tt>sample_resize_policy.hpp</tt></a></p>
25
26     <h2><a name="link1" id="link1">Public Types and
27     Constants</a></h2>
28
29     <h3><a name="link2" id="link2">General definitions.</a></h3>
30
31     <table class="c1" width="100%" border="1" summary="Types">
32       <tr>
33         <td width="30%" align="left"><b>Type</b></td>
34
35         <td width="55%" align="left"><b>Definition</b></td>
36
37         <td width="15%" align="left"><b>Description</b></td>
38       </tr>
39
40       <tr>
41         <td>
42           <pre>
43 <a name="size_type55424436" id="size_type55424436">size_type</a>
44 </pre>
45         </td>
46
47         <td>
48           <pre>
49 size_t, e.g.
50 </pre>
51         </td>
52
53         <td>
54           <p>Size type.</p>
55         </td>
56       </tr>
57     </table>
58
59     <h2><a name="link3" id="link3">Public Methods</a></h2>
60
61     <h3><a name="link4" id="link4">Constructors, destructor, and
62     related.</a></h3>
63
64     <table class="c1" width="100%" border="1" summary="Methods">
65       <tr>
66         <td width="45%" align="left"><b>Method</b></td>
67
68         <td width="55%" align="left"><b>Description</b></td>
69       </tr>
70
71       <tr>
72         <td>
73           <pre>
74   sample_resize_policy
75   ()
76 </pre>
77         </td>
78
79         <td>
80           <p>Default constructor.</p>
81
82           <p>Must be default constructable.</p>
83         </td>
84       </tr>
85
86       <tr>
87         <td>
88           <pre>
89   sample_range_hashing
90   (<b>const</b> sample_resize_policy &amp;other)
91 </pre>
92         </td>
93
94         <td>
95           <p>Copy constructor.</p>
96
97           <p>Must be copy constructable.</p>
98         </td>
99       </tr>
100
101       <tr>
102         <td>
103           <pre>
104 <b>inline</b> <b>void</b>
105   swap
106   (sample_resize_policy &amp;other)
107 </pre>
108         </td>
109
110         <td>
111           <p>Swaps content.</p>
112
113           <p>Must be swappable (if there is such a word).</p>
114         </td>
115       </tr>
116     </table>
117
118     <h2><a name="link5" id="link5">Protected Methods</a></h2>
119
120     <h3><a name="link6" id="link6">Insert search
121     notifications.</a></h3>
122
123     <p>Notifications called during an insert operation.</p>
124
125     <table class="c1" width="100%" border="1" summary="Methods">
126       <tr>
127         <td width="45%" align="left"><b>Method</b></td>
128
129         <td width="55%" align="left"><b>Description</b></td>
130       </tr>
131
132       <tr>
133         <td>
134           <pre>
135 <b>inline</b> <b>void</b>
136   notify_insert_search_start
137   ()
138 </pre>
139         </td>
140
141         <td>
142           <p>Notifies a search started.</p>
143         </td>
144       </tr>
145
146       <tr>
147         <td>
148           <pre>
149 <b>inline</b> <b>void</b>
150   notify_insert_search_collision
151   ()
152 </pre>
153         </td>
154
155         <td>
156           <p>Notifies a search encountered a collision.</p>
157         </td>
158       </tr>
159
160       <tr>
161         <td>
162           <pre>
163 <b>inline</b> <b>void</b>
164   notify_insert_search_end
165   ()
166 </pre>
167         </td>
168
169         <td>
170           <p>Notifies a search ended.</p>
171         </td>
172       </tr>
173     </table>
174
175     <h3><a name="link7" id="link7">Find search
176     notifications.</a></h3>
177
178     <p>Notifications called during a find operation.</p>
179
180     <table class="c1" width="100%" border="1" summary="Methods">
181       <tr>
182         <td width="45%" align="left"><b>Method</b></td>
183
184         <td width="55%" align="left"><b>Description</b></td>
185       </tr>
186
187       <tr>
188         <td>
189           <pre>
190 <b>inline</b> <b>void</b>
191   notify_find_search_start
192   ()
193 </pre>
194         </td>
195
196         <td>
197           <p>Notifies a search started.</p>
198         </td>
199       </tr>
200
201       <tr>
202         <td>
203           <pre>
204 <b>inline</b> <b>void</b>
205   notify_find_search_collision
206   ()
207 </pre>
208         </td>
209
210         <td>
211           <p>Notifies a search encountered a collision.</p>
212         </td>
213       </tr>
214
215       <tr>
216         <td>
217           <pre>
218 <b>inline</b> <b>void</b>
219   notify_find_search_end
220   ()
221 </pre>
222         </td>
223
224         <td>
225           <p>Notifies a search ended.</p>
226         </td>
227       </tr>
228     </table>
229
230     <h3><a name="link8" id="link8">Erase search
231     notifications.</a></h3>
232
233     <p>Notifications called during an insert operation.</p>
234
235     <table class="c1" width="100%" border="1" summary="Methods">
236       <tr>
237         <td width="45%" align="left"><b>Method</b></td>
238
239         <td width="55%" align="left"><b>Description</b></td>
240       </tr>
241
242       <tr>
243         <td>
244           <pre>
245 <b>inline</b> <b>void</b>
246   notify_erase_search_start
247   ()
248 </pre>
249         </td>
250
251         <td>
252           <p>Notifies a search started.</p>
253         </td>
254       </tr>
255
256       <tr>
257         <td>
258           <pre>
259 <b>inline</b> <b>void</b>
260   notify_erase_search_collision
261   ()
262 </pre>
263         </td>
264
265         <td>
266           <p>Notifies a search encountered a collision.</p>
267         </td>
268       </tr>
269
270       <tr>
271         <td>
272           <pre>
273 <b>inline</b> <b>void</b>
274   notify_erase_search_end
275   ()
276 </pre>
277         </td>
278
279         <td>
280           <p>Notifies a search ended.</p>
281         </td>
282       </tr>
283     </table>
284
285     <h3><a name="link9" id="link9">Content change
286     notifications.</a></h3>
287
288     <p>Notifications called when the content of the table changes
289     in a way that can affect the resize policy.</p>
290
291     <table class="c1" width="100%" border="1" summary="Methods">
292       <tr>
293         <td width="45%" align="left"><b>Method</b></td>
294
295         <td width="55%" align="left"><b>Description</b></td>
296       </tr>
297
298       <tr>
299         <td>
300           <pre>
301 <b>inline</b> <b>void</b>
302   notify_inserted
303   (<a href="#size_type55424436"><tt>size_type</tt></a> num_e)
304 </pre>
305         </td>
306
307         <td>
308           <p>Notifies an element was inserted.</p>
309         </td>
310       </tr>
311
312       <tr>
313         <td>
314           <pre>
315 <b>inline</b> <b>void</b>
316   notify_erased
317   (<a href="#size_type55424436"><tt>size_type</tt></a> num_e)
318 </pre>
319         </td>
320
321         <td>
322           <p>Notifies an element was erased.</p>
323         </td>
324       </tr>
325
326       <tr>
327         <td>
328           <pre>
329 <b>void</b> 
330   notify_cleared
331   ()
332 </pre>
333         </td>
334
335         <td>
336           <p>Notifies the table was cleared.</p>
337         </td>
338       </tr>
339     </table>
340
341     <h3><a name="link10" id="link10">Size change
342     notifications.</a></h3>
343
344     <p>Notifications called when the table changes size.</p>
345
346     <table class="c1" width="100%" border="1" summary="Methods">
347       <tr>
348         <td width="45%" align="left"><b>Method</b></td>
349
350         <td width="55%" align="left"><b>Description</b></td>
351       </tr>
352
353       <tr>
354         <td>
355           <pre>
356 <b>void</b>
357   notify_resized
358   (<a href="#size_type55424436"><tt>size_type</tt></a> new_size)
359 </pre>
360         </td>
361
362         <td>
363           <p>Notifies the table was resized to <span class=
364           "c1"><tt>new_size</tt></span>.</p>
365         </td>
366       </tr>
367     </table>
368
369     <h3><a name="link11" id="link11">Queries.</a></h3>
370
371     <p>Called to query whether/how to resize.</p>
372
373     <table class="c1" width="100%" border="1" summary="Methods">
374       <tr>
375         <td width="45%" align="left"><b>Method</b></td>
376
377         <td width="55%" align="left"><b>Description</b></td>
378       </tr>
379
380       <tr>
381         <td>
382           <pre>
383 <b>inline</b> <b>bool</b>
384   is_resize_needed
385   () <b>const</b>
386 </pre>
387         </td>
388
389         <td>
390           <p>Queries whether a resize is needed.</p>
391         </td>
392       </tr>
393
394       <tr>
395         <td>
396           <pre>
397 <a href="#size_type55424436"><tt>size_type</tt></a>
398   get_new_size
399   (<a href="#size_type55424436"><tt>size_type</tt></a> size, 
400     <a href=
401 "#size_type55424436"><tt>size_type</tt></a> num_used_e) <b>const</b>
402 </pre>
403         </td>
404
405         <td>
406           <p>Queries what the new <span class=
407           "c1"><tt>size</tt></span> should be.</p>
408         </td>
409       </tr>
410     </table>
411   </div>
412 </body>
413 </html>