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_hash_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_hash_fn.hpp
3
* Contains a ranged hash 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_HASH_FN_HPP
19
#define SAMPLE_RANGED_HASH_FN_HPP
20
 
21
 
22
/**
23
* <class
24
*   description = "A sample ranged-hash functor."
25
*  comment = "This class serves to show the interface a ranged-hash
26
*       functor needs to support.">
27
**/
28
class sample_ranged_hash_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_hash_fn
47
                ();
48
        /** </fn> **/
49
 
50
        /*
51
        * <fn description = "Copy constructor."
52
        *       comment = "Must be copy constructible.">
53
        **/
54
                sample_ranged_hash_fn
55
                (const sample_ranged_hash_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_hash_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_hash_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 a position
122
        *               within the table.">
123
        *       comment = "@@sample_ranged_hash_fn_size_type_comment">
124
        **/
125
        inline size_type
126
                operator()
127
                (const_key_reference r_key) const;
128
        /** </fn> **/
129
 
130
        /**
131
        ***************************************************************************
132
        ***************************************************************************
133
        ** </group>
134
        **/
135
};
136
/**
137
* </class>
138
**/
139
 
140
 
141
#endif // #ifndef SAMPLE_RANGED_HASH_FN_HPP

powered by: WebSVN 2.1.0

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