OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [libstdc++-v3/] [docs/] [html/] [ext/] [pb_assoc/] [hash_standard_resize_policy.html] - Blame information for rev 20

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 20 jlechner
 
2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
3
 
4
 
5
<html>
6
<head>
7
<title>hash_standard_resize_policy Interface
8
</title>
9
 
10
</head>
11
 
12
<body>
13
<h1>
14
<tt>hash_standard_resize_policy
15
</tt>
16
 
17
 Interface
18
 
19
 
20
</h1>
21
 
22
<p>A resize policy which delegates operations to size and trigger policies.
23
</p>
24
 
25
<ol>
26
<li>
27
<a href = "../../../../include/ext/pb_assoc/hash_policy.hpp"><tt>hash_policy.hpp</tt>
28
</a>
29
 
30
</li>
31
 
32
<li>
33
<a href = "#link1">Template parameters.
34
</a>
35
 
36
</li>
37
 
38
<li>
39
<a href = "#link2">Base classes.
40
</a>
41
 
42
</li>
43
 
44
<li>
45
Public Types and Constants:
46
 
47
 
48
<ol>
49
<li>
50
<a href = "#link3">General definitions.
51
</a>
52
 
53
</li>
54
 
55
<li>
56
<a href = "#link4">Policy definitions.
57
</a>
58
 
59
</li>
60
 
61
</ol>
62
 
63
</li>
64
 
65
<li>
66
Public Methods:
67
 
68
 
69
<ol>
70
<li>
71
<a href = "#link5">Constructors, destructor, and related.
72
</a>
73
 
74
</li>
75
 
76
<li>
77
<a href = "#link6">Policy access methods.
78
</a>
79
 
80
</li>
81
 
82
<li>
83
<a href = "#link7">Size access methods.
84
</a>
85
 
86
</li>
87
 
88
</ol>
89
 
90
</li>
91
 
92
<li>
93
Protected Methods:
94
 
95
 
96
<ol>
97
<li>
98
<a href = "#link8">Insert search notifications.
99
</a>
100
 
101
</li>
102
 
103
<li>
104
<a href = "#link9">Find search notifications.
105
</a>
106
 
107
</li>
108
 
109
<li>
110
<a href = "#link10">Erase search notifications.
111
</a>
112
 
113
</li>
114
 
115
<li>
116
<a href = "#link11">Content change notifications.
117
</a>
118
 
119
</li>
120
 
121
<li>
122
<a href = "#link12">Size change notifications.
123
</a>
124
 
125
</li>
126
 
127
<li>
128
<a href = "#link13">Queries.
129
</a>
130
 
131
</li>
132
 
133
</ol>
134
 
135
</li>
136
 
137
</ol>
138
 
139
 
140
<h2>
141
<a name = "link1">Template parameters.
142
</a>
143
 
144
</h2>
145
 
146
<table WIDTH = "100%" BORDER = "1">
147
<TR><TD Width = "20%" ALIGN = "left"><b>Parameter</b></TD><TD Width = "50%" ALIGN = "left"><b>Description</b></TD><TD Width = "30%" ALIGN = "left"><b>Default Value</b></TD></TR>
148
 
149
 
150
<tr>
151
<td>
152
<pre><a name = "Size_Policy3735929689">Size_Policy</a></pre>
153
 
154
 
155
</td>
156
 
157
<td>
158
<p>Size policy type.</p>
159
 
160
 
161
</td>
162
 
163
<td>
164
<a href = "hash_exponential_size_policy.html"><tt>hash_exponential_size_policy&lt;&gt;</tt></a>
165
 
166
 
167
</td>
168
 
169
</tr>
170
 
171
<tr>
172
<td>
173
<pre><a name = "Trigger_Policy3735930002">Trigger_Policy</a></pre>
174
 
175
 
176
</td>
177
 
178
<td>
179
<p>Trigger policy type.</p>
180
 
181
 
182
</td>
183
 
184
<td>
185
<a href = "hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger&lt;&gt;</tt></a>
186
 
187
 
188
</td>
189
 
190
</tr>
191
 
192
<tr>
193
<td>
194
<pre><a name = "External_Size_Access3735929535">External_Size_Access</a></pre>
195
 
196
 
197
</td>
198
 
199
<td>
200
<p>Indicates whether physical sizes can be accessed externally.</p>
201
 
202
 
203
</td>
204
 
205
<td>
206
<tt><b>false</b></tt>
207
 
208
 
209
</td>
210
 
211
</tr>
212
 
213
<tr>
214
<td>
215
<pre><a name = "Size_Type3735929483">Size_Type</a></pre>
216
 
217
 
218
</td>
219
 
220
<td>
221
<p>Size type.</p>
222
 
223
 
224
</td>
225
 
226
<td>
227
size_t
228
 
229
 
230
</td>
231
 
232
</tr>
233
 
234
</table>
235
 
236
<h2>
237
<a name = "link2">Base classes.
238
</a>
239
 
240
</h2>
241
 
242
<table WIDTH = "100%" BORDER = "1">
243
<TR><TD Width = "80%" ALIGN = "left"><b>Class</b></TD><TD Width = "20%" ALIGN = "left"><b>Derivation Type</b></TD></TR>
244
 
245
 
246
<tr>
247
<td>
248
<pre><a href = "#Size_Policy3735929689">Size_Policy</a></pre>
249
 
250
 
251
</td>
252
 
253
<td>
254
<p>public</p>
255
 
256
 
257
</td>
258
 
259
</tr>
260
 
261
<tr>
262
<td>
263
<pre><a href = "#Trigger_Policy3735930002">Trigger_Policy</a></pre>
264
 
265
 
266
</td>
267
 
268
<td>
269
<p>public</p>
270
 
271
 
272
</td>
273
 
274
</tr>
275
 
276
</table>
277
 
278
<h2>
279
<a name = "link3">General definitions.
280
</a>
281
 
282
</h2>
283
 
284
<table WIDTH = "100%" BORDER = "1">
285
<TR><TD Width = "30%" ALIGN = "left"><b>Type</b></TD><TD Width = "55%" ALIGN = "left"><b>Definition</b></TD><TD Width = "15%" ALIGN = "left"><b>Description</b></TD></TR>
286
 
287
 
288
<tr>
289
<td>
290
<pre><a name = "size_type3735929547">size_type</a></pre>
291
 
292
 
293
</td>
294
 
295
<td>
296
<pre><a href = "#Size_Type3735929483">Size_Type</a></pre>
297
 
298
 
299
</td>
300
 
301
<td>
302
<p>Size type.</p>
303
 
304
 
305
</td>
306
 
307
</tr>
308
 
309
</table>
310
 
311
<h2>
312
<a name = "link4">Policy definitions.
313
</a>
314
 
315
</h2>
316
 
317
<table WIDTH = "100%" BORDER = "1">
318
<TR><TD Width = "30%" ALIGN = "left"><b>Type</b></TD><TD Width = "55%" ALIGN = "left"><b>Definition</b></TD><TD Width = "15%" ALIGN = "left"><b>Description</b></TD></TR>
319
 
320
 
321
<tr>
322
<td>
323
<pre><a name = "trigger_policy3735930066">trigger_policy</a></pre>
324
 
325
 
326
</td>
327
 
328
<td>
329
<pre><a href = "#Trigger_Policy3735930002">Trigger_Policy</a></pre>
330
 
331
 
332
</td>
333
 
334
<td>
335
<p>Trigger policy type.</p>
336
 
337
 
338
</td>
339
 
340
</tr>
341
 
342
<tr>
343
<td>
344
<pre><a name = "size_policy3735929753">size_policy</a></pre>
345
 
346
 
347
</td>
348
 
349
<td>
350
<pre><a href = "#Size_Policy3735929689">Size_Policy</a></pre>
351
 
352
 
353
</td>
354
 
355
<td>
356
<p>Size policy type.</p>
357
 
358
 
359
</td>
360
 
361
</tr>
362
 
363
<tr>
364
<td>
365
<pre><a name = "external_size_access3735929599">external_size_access</a></pre>
366
 
367
 
368
</td>
369
 
370
<td>
371
<pre><a href = "#External_Size_Access3735929535">External_Size_Access</a></pre>
372
 
373
 
374
</td>
375
 
376
<td>
377
<p>Indicates whether sizes can be accessed externally.</p>
378
 
379
 
380
</td>
381
 
382
</tr>
383
 
384
</table>
385
 
386
<h2>
387
<a name = "link5">Constructors, destructor, and related.
388
</a>
389
 
390
</h2>
391
 
392
<table WIDTH = "100%" BORDER = "1">
393
<TR><TD Width = "45%" ALIGN = "left"><b>Method</b></TD><TD Width = "55%" ALIGN = "left"><b>Description</b></TD></TR>
394
 
395
 
396
<tr>
397
<td>
398
<pre>  hash_standard_resize_policy
399
  (<a href = "#size_type3735929547">size_type</a> suggested_size = 8)</pre>
400
 
401
 
402
</td>
403
 
404
<td>
405
<p>Default constructor, or constructor taking <font color = "#666666"><tt>suggested_size</tt></font>, a suggested size (the actual size will be determined by the <a href = "#Size_Policy3735929689"><tt>Size_Policy</tt></a> object).</p>
406
 
407
 
408
</td>
409
 
410
</tr>
411
 
412
<tr>
413
<td>
414
<pre>  hash_standard_resize_policy
415
  (<b>const</b> <a href = "#Size_Policy3735929689">Size_Policy</a> &amp;r_size_policy,
416
    <a href = "#size_type3735929547">size_type</a> suggested_size = 8)</pre>
417
 
418
 
419
</td>
420
 
421
<td>
422
<p>constructor taking some policies and <font color = "#666666"><tt>suggested_size</tt></font>, a suggested size (the actual size will be determined by the <a href = "#Size_Policy3735929689"><tt>Size_Policy</tt></a> object). <font color = "#666666"><tt>r_size_policy</tt></font> will be copied by the <a href = "#Size_Policy3735929689"><tt>Size_Policy</tt></a> object of this object.</p>
423
 
424
 
425
</td>
426
 
427
</tr>
428
 
429
<tr>
430
<td>
431
<pre>  hash_standard_resize_policy
432
  (<b>const</b> <a href = "#Size_Policy3735929689">Size_Policy</a> &amp;r_size_policy,
433
    <b>const</b> <a href = "#Trigger_Policy3735930002">Trigger_Policy</a> &amp;r_trigger_policy,
434
    <a href = "#size_type3735929547">size_type</a> suggested_size = 8)</pre>
435
 
436
 
437
</td>
438
 
439
<td>
440
<p>constructor taking some policies and <font color = "#666666"><tt>suggested_size</tt></font>, a suggested size (the actual size will be determined by the <a href = "#Size_Policy3735929689"><tt>Size_Policy</tt></a> object). <font color = "#666666"><tt>r_size_policy</tt></font> will be copied by the <a href = "#Size_Policy3735929689"><tt>Size_Policy</tt></a> object of this object. <font color = "#666666"><tt>r_trigger_policy</tt></font> will be copied by the <a href = "#Trigger_Policy3735930002"><tt>Trigger_Policy</tt></a> object of this object.</p>
441
 
442
 
443
</td>
444
 
445
</tr>
446
 
447
<tr>
448
<td>
449
<pre><b>virtual</b>
450
  ~hash_standard_resize_policy
451
  ()</pre>
452
 
453
 
454
</td>
455
 
456
<td>
457
<p>Destructor.</p>
458
 
459
 
460
</td>
461
 
462
</tr>
463
 
464
<tr>
465
<td>
466
<pre><b>inline</b> <b>void</b>
467
  swap
468
  (<font color = "olive">hash_standard_resize_policy</font> &amp;r_other)</pre>
469
 
470
 
471
</td>
472
 
473
<td>
474
<p>Swaps content.</p>
475
 
476
 
477
</td>
478
 
479
</tr>
480
 
481
</table>
482
 
483
<h2>
484
<a name = "link6">Policy access methods.
485
</a>
486
 
487
</h2>
488
 
489
<table WIDTH = "100%" BORDER = "1">
490
<TR><TD Width = "45%" ALIGN = "left"><b>Method</b></TD><TD Width = "55%" ALIGN = "left"><b>Description</b></TD></TR>
491
 
492
 
493
<tr>
494
<td>
495
<pre><a href = "#Size_Policy3735929689">Size_Policy</a> &amp;
496
  get_size_policy
497
  ()</pre>
498
 
499
 
500
</td>
501
 
502
<td>
503
<p>Access to the <a href = "#Size_Policy3735929689"><tt>Size_Policy</tt></a> object used.</p>
504
 
505
 
506
</td>
507
 
508
</tr>
509
 
510
<tr>
511
<td>
512
<pre><b>const</b> <a href = "#Size_Policy3735929689">Size_Policy</a> &amp;
513
  get_size_policy
514
  () <b>const</b></pre>
515
 
516
 
517
</td>
518
 
519
<td>
520
<p>Const access to the <a href = "#Size_Policy3735929689"><tt>Size_Policy</tt></a> object used.</p>
521
 
522
 
523
</td>
524
 
525
</tr>
526
 
527
<tr>
528
<td>
529
<pre><a href = "#Trigger_Policy3735930002">Trigger_Policy</a> &amp;
530
  get_trigger_policy
531
  ()</pre>
532
 
533
 
534
</td>
535
 
536
<td>
537
<p>Access to the <a href = "#Trigger_Policy3735930002"><tt>Trigger_Policy</tt></a> object used.</p>
538
 
539
 
540
</td>
541
 
542
</tr>
543
 
544
<tr>
545
<td>
546
<pre><b>const</b> <a href = "#Trigger_Policy3735930002">Trigger_Policy</a> &amp;
547
  get_trigger_policy
548
  () <b>const</b></pre>
549
 
550
 
551
</td>
552
 
553
<td>
554
<p>Access to the <a href = "#Trigger_Policy3735930002"><tt>Trigger_Policy</tt></a> object used.</p>
555
 
556
 
557
</td>
558
 
559
</tr>
560
 
561
</table>
562
 
563
<h2>
564
<a name = "link7">Size access methods.
565
</a>
566
 
567
</h2>
568
 
569
<p>These methods are available only if the external size parameter indicates that external size access is allowed.</p>
570
 
571
 
572
<table WIDTH = "100%" BORDER = "1">
573
<TR><TD Width = "45%" ALIGN = "left"><b>Method</b></TD><TD Width = "55%" ALIGN = "left"><b>Description</b></TD></TR>
574
 
575
 
576
<tr>
577
<td>
578
<pre><b>inline</b> <a href = "#size_type3735929547">size_type</a>
579
  get_actual_size
580
  () <b>const</b></pre>
581
 
582
 
583
</td>
584
 
585
<td>
586
<p>Returns the actual size of the container.</p>
587
 
588
 
589
<p>This method returns the number of entries (used and unused) in the container. It is different from the container's size method, which returns the number of used entries. Calling this method will not compile when <a href = "#External_Size_Access3735929535"><tt>External_Size_Access</tt></a> == <tt><b>false</b></tt>.</p>
590
 
591
 
592
</td>
593
 
594
</tr>
595
 
596
<tr>
597
<td>
598
<pre><b>void</b>
599
  resize
600
  (<a href = "#size_type3735929547">size_type</a> suggested_new_size)</pre>
601
 
602
 
603
</td>
604
 
605
<td>
606
<p>Resizes the container to <font color = "#666666"><tt>suggested_new_size</tt></font>, a suggested size (the actual size will be determined by the <a href = "#Size_Policy3735929689"><tt>Size_Policy</tt></a> object).</p>
607
 
608
 
609
<p>Calling this method will not compile when <a href = "#External_Size_Access3735929535"><tt>External_Size_Access</tt></a> == <tt><b>false</b></tt>.</p>
610
 
611
 
612
</td>
613
 
614
</tr>
615
 
616
</table>
617
 
618
<h2>
619
<a name = "link8">Insert search notifications.
620
</a>
621
 
622
</h2>
623
 
624
<p>Notifications called during an insert operation.</p>
625
 
626
 
627
<table WIDTH = "100%" BORDER = "1">
628
<TR><TD Width = "45%" ALIGN = "left"><b>Method</b></TD><TD Width = "55%" ALIGN = "left"><b>Description</b></TD></TR>
629
 
630
 
631
<tr>
632
<td>
633
<pre><b>inline</b> <b>void</b>
634
  notify_insert_search_start
635
  ()</pre>
636
 
637
 
638
</td>
639
 
640
<td>
641
<p>Notifies a search started.</p>
642
 
643
 
644
</td>
645
 
646
</tr>
647
 
648
<tr>
649
<td>
650
<pre><b>inline</b> <b>void</b>
651
  notify_insert_search_collision
652
  ()</pre>
653
 
654
 
655
</td>
656
 
657
<td>
658
<p>Notifies a search encountered a collision.</p>
659
 
660
 
661
</td>
662
 
663
</tr>
664
 
665
<tr>
666
<td>
667
<pre><b>inline</b> <b>void</b>
668
  notify_insert_search_end
669
  ()</pre>
670
 
671
 
672
</td>
673
 
674
<td>
675
<p>Notifies a search ended.</p>
676
 
677
 
678
</td>
679
 
680
</tr>
681
 
682
</table>
683
 
684
<h2>
685
<a name = "link9">Find search notifications.
686
</a>
687
 
688
</h2>
689
 
690
<p>Notifications called during a find operation.</p>
691
 
692
 
693
<table WIDTH = "100%" BORDER = "1">
694
<TR><TD Width = "45%" ALIGN = "left"><b>Method</b></TD><TD Width = "55%" ALIGN = "left"><b>Description</b></TD></TR>
695
 
696
 
697
<tr>
698
<td>
699
<pre><b>inline</b> <b>void</b>
700
  notify_find_search_start
701
  ()</pre>
702
 
703
 
704
</td>
705
 
706
<td>
707
<p>Notifies a search started.</p>
708
 
709
 
710
</td>
711
 
712
</tr>
713
 
714
<tr>
715
<td>
716
<pre><b>inline</b> <b>void</b>
717
  notify_find_search_collision
718
  ()</pre>
719
 
720
 
721
</td>
722
 
723
<td>
724
<p>Notifies a search encountered a collision.</p>
725
 
726
 
727
</td>
728
 
729
</tr>
730
 
731
<tr>
732
<td>
733
<pre><b>inline</b> <b>void</b>
734
  notify_find_search_end
735
  ()</pre>
736
 
737
 
738
</td>
739
 
740
<td>
741
<p>Notifies a search ended.</p>
742
 
743
 
744
</td>
745
 
746
</tr>
747
 
748
</table>
749
 
750
<h2>
751
<a name = "link10">Erase search notifications.
752
</a>
753
 
754
</h2>
755
 
756
<p>Notifications called during an insert operation.</p>
757
 
758
 
759
<table WIDTH = "100%" BORDER = "1">
760
<TR><TD Width = "45%" ALIGN = "left"><b>Method</b></TD><TD Width = "55%" ALIGN = "left"><b>Description</b></TD></TR>
761
 
762
 
763
<tr>
764
<td>
765
<pre><b>inline</b> <b>void</b>
766
  notify_erase_search_start
767
  ()</pre>
768
 
769
 
770
</td>
771
 
772
<td>
773
<p>Notifies a search started.</p>
774
 
775
 
776
</td>
777
 
778
</tr>
779
 
780
<tr>
781
<td>
782
<pre><b>inline</b> <b>void</b>
783
  notify_erase_search_collision
784
  ()</pre>
785
 
786
 
787
</td>
788
 
789
<td>
790
<p>Notifies a search encountered a collision.</p>
791
 
792
 
793
</td>
794
 
795
</tr>
796
 
797
<tr>
798
<td>
799
<pre><b>inline</b> <b>void</b>
800
  notify_erase_search_end
801
  ()</pre>
802
 
803
 
804
</td>
805
 
806
<td>
807
<p>Notifies a search ended.</p>
808
 
809
 
810
</td>
811
 
812
</tr>
813
 
814
</table>
815
 
816
<h2>
817
<a name = "link11">Content change notifications.
818
</a>
819
 
820
</h2>
821
 
822
<p>Notifications called when the content of the table changes in a way that can affect the resize policy.</p>
823
 
824
 
825
<table WIDTH = "100%" BORDER = "1">
826
<TR><TD Width = "45%" ALIGN = "left"><b>Method</b></TD><TD Width = "55%" ALIGN = "left"><b>Description</b></TD></TR>
827
 
828
 
829
<tr>
830
<td>
831
<pre><b>inline</b> <b>void</b>
832
  notify_inserted
833
  (<a href = "#size_type3735929547">size_type</a> num_e)</pre>
834
 
835
 
836
</td>
837
 
838
<td>
839
<p>Notifies an element was inserted.</p>
840
 
841
 
842
</td>
843
 
844
</tr>
845
 
846
<tr>
847
<td>
848
<pre><b>inline</b> <b>void</b>
849
  notify_erased
850
  (<a href = "#size_type3735929547">size_type</a> num_e)</pre>
851
 
852
 
853
</td>
854
 
855
<td>
856
<p>Notifies an element was erased.</p>
857
 
858
 
859
</td>
860
 
861
</tr>
862
 
863
<tr>
864
<td>
865
<pre><b>void</b>
866
  notify_cleared
867
  ()</pre>
868
 
869
 
870
</td>
871
 
872
<td>
873
<p>Notifies the table was cleared.</p>
874
 
875
 
876
</td>
877
 
878
</tr>
879
 
880
</table>
881
 
882
<h2>
883
<a name = "link12">Size change notifications.
884
</a>
885
 
886
</h2>
887
 
888
<p>Notifications called when the table changes size.</p>
889
 
890
 
891
<table WIDTH = "100%" BORDER = "1">
892
<TR><TD Width = "45%" ALIGN = "left"><b>Method</b></TD><TD Width = "55%" ALIGN = "left"><b>Description</b></TD></TR>
893
 
894
 
895
<tr>
896
<td>
897
<pre><b>void</b>
898
  notify_resized
899
  (<a href = "#size_type3735929547">size_type</a> new_size)</pre>
900
 
901
 
902
</td>
903
 
904
<td>
905
<p>Notifies the table was resized to <font color = "#666666"><tt>new_size</tt></font>.</p>
906
 
907
 
908
</td>
909
 
910
</tr>
911
 
912
</table>
913
 
914
<h2>
915
<a name = "link13">Queries.
916
</a>
917
 
918
</h2>
919
 
920
<p>Called to query whether/how to resize.</p>
921
 
922
 
923
<table WIDTH = "100%" BORDER = "1">
924
<TR><TD Width = "45%" ALIGN = "left"><b>Method</b></TD><TD Width = "55%" ALIGN = "left"><b>Description</b></TD></TR>
925
 
926
 
927
<tr>
928
<td>
929
<pre><a href = "#size_type3735929547">size_type</a>
930
  get_init_size
931
  () <b>const</b></pre>
932
 
933
 
934
</td>
935
 
936
<td>
937
<p>Queries initial size.</p>
938
 
939
 
940
</td>
941
 
942
</tr>
943
 
944
<tr>
945
<td>
946
<pre><b>inline</b> <b>bool</b>
947
  is_resize_needed
948
  () <b>const</b></pre>
949
 
950
 
951
</td>
952
 
953
<td>
954
<p>Queries whether a resize is needed.</p>
955
 
956
 
957
</td>
958
 
959
</tr>
960
 
961
<tr>
962
<td>
963
<pre><a href = "#size_type3735929547">size_type</a>
964
  get_new_size
965
  (<a href = "#size_type3735929547">size_type</a> size, <a href = "#size_type3735929547">size_type</a> num_used_e) <b>const</b></pre>
966
 
967
 
968
</td>
969
 
970
<td>
971
<p>Queries what the new <font color = "#666666"><tt>size</tt></font> should be.</p>
972
 
973
 
974
</td>
975
 
976
</tr>
977
 
978
</table>
979
 
980
 
981
 
982
</body>
983
 
984
</html>
985
 
986
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.