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/] [sample_ranged_probe_fn.hpp] - Blame information for rev 20

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 20 jlechner
/**
2
* @file sample_ranged_probe_fn.hpp
3
* Contains a ranged probe policy.
4
*
5
* Copyright Ami Tavory, IBM-HRL, 2004.
6
*
7
* Permission to use, copy, modify, sell, and distribute this software
8
*   is hereby granted without fee, provided that the above copyright notice
9
*   appears in all copies, and that both that copyright notice and this
10
*   permission notice appear in supporting documentation.
11
*
12
* None of the above authors, nor IBM Haifa Research Laboratories, make any
13
*   representation about the suitability of this software for any
14
*   purpose. It is provided "as is" without express or implied warranty.
15
**/
16
 
17
 
18
#ifndef SAMPLE_RANGED_PROBE_FN_HPP
19
#define SAMPLE_RANGED_PROBE_FN_HPP
20
 
21
 
22
/**
23
* <class
24
*   description = "A sample ranged-probe functor."
25
*  comment = "This class serves to show the interface a ranged-probe
26
*       functor needs to support.">
27
**/
28
class sample_ranged_probe_fn
29
{
30
/**
31
*******************************************************************************
32
*******************************************************************************
33
* <public_methods_group>
34
**/
35
public:
36
        /**
37
        ***************************************************************************
38
        ***************************************************************************
39
        ** <group description = "Constructors, destructor, and related.">
40
        **/
41
 
42
        /*
43
        * <fn description = "Default constructor."
44
        *       comment = "Must be default constructible.">
45
        **/
46
                sample_ranged_probe_fn
47
                ();
48
        /** </fn> **/
49
 
50
        /*
51
        * <fn description = "Copy constructor."
52
        *       comment = "Must be copy constructible.">
53
        **/
54
                sample_ranged_probe_fn
55
                (const sample_ranged_probe_fn &r_other);
56
        /** </fn> **/
57
 
58
        /*
59
        * <fn description = "Swaps content."
60
        *       comment = "Must be swappable (if there is such a word).">
61
        **/
62
        inline void
63
                swap
64
                (sample_ranged_probe_fn &r_other);
65
        /** </fn> **/
66
 
67
        /*
68
        ***************************************************************************
69
        ***************************************************************************
70
        * </group>
71
        **/
72
 
73
/**
74
*******************************************************************************
75
*******************************************************************************
76
* </public_methods_group>
77
**/
78
 
79
 
80
/**
81
*******************************************************************************
82
*******************************************************************************
83
* <protected_methods_group>
84
**/
85
protected:
86
 
87
        /**
88
        ***************************************************************************
89
        ***************************************************************************
90
        ** <group
91
        *         description = "Notification methods.">
92
        **/
93
 
94
        /*
95
        * <fn
96
        *   description = "Notifies the policy object that the container's
97
        *         __size has changed to size."
98
        *       comment = "@@sample_ranged_probe_fn_size_type_comment">
99
        **/
100
        void
101
                notify_resized
102
                (size_type size);
103
        /** </fn> **/
104
 
105
        /**
106
        ***************************************************************************
107
        ***************************************************************************
108
        ** </group>
109
        **/
110
 
111
 
112
        /**
113
        ***************************************************************************
114
        ***************************************************************************
115
        ** <group
116
        *         description = "Operators.">
117
        **/
118
 
119
        /*
120
        * <fn description = "Transforms the const key reference
121
        *               r_key into the i-th position
122
        *               within the table. This method is called for
123
        *               each collision within the probe sequence.">
124
        *       comment = "@@sample_ranged_probe_fn_size_type_comment">
125
        **/
126
        inline size_type
127
                operator()
128
                (const_key_reference r_key,
129
                        size_type i) const;
130
        /** </fn> **/
131
 
132
        /**
133
        ***************************************************************************
134
        ***************************************************************************
135
        ** </group>
136
        **/
137
};
138
/**
139
* </class>
140
**/
141
 
142
 
143
#endif // #ifndef SAMPLE_RANGED_PROBE_FN_HPP

powered by: WebSVN 2.1.0

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