]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/libstdc++-v3/contrib/libstdc++-v3-4.1.0/docs/html/ext/pb_assoc/sample_node_updator.hpp
update
[l4.git] / l4 / pkg / libstdc++-v3 / contrib / libstdc++-v3-4.1.0 / docs / html / ext / pb_assoc / sample_node_updator.hpp
1 /* \r
2 * @file sample_node_updator.hpp\r
3 * Contains a samle node update functor.\r
4\r
5 * Copyright Ami Tavory, IBM-HRL, 2004.\r
6\r
7 * Permission to use, copy, modify, sell, and distribute this software\r
8 *       is hereby granted without fee, provided that the above copyright notice\r
9 *       appears in all copies, and that both that copyright notice and this\r
10 *       permission notice appear in supporting documentation.\r
11 *\r
12 * None of the above authors, nor IBM Haifa Research Laboratories, make any\r
13 *       representation about the suitability of this software for any\r
14 *       purpose. It is provided "as is" without express or implied warranty.\r
15 **/\r
16 \r
17 \r
18 #ifndef SAMPLE_NODE_UPDATOR_HPP\r
19 #define SAMPLE_NODE_UPDATOR_HPP\r
20 \r
21 \r
22 /**\r
23 * <class \r
24 *       description = "A sample node updator."\r
25 *  comment = "This class serves to show the interface a node update functor\r
26 *       needs to support.">\r
27 **/\r
28 class sample_node_updator\r
29 {\r
30 /**\r
31 *******************************************************************************\r
32 *******************************************************************************\r
33 * <public_methods_group>\r
34 **/\r
35 public:\r
36 \r
37         /**\r
38         ***************************************************************************\r
39         ***************************************************************************\r
40         ** <group description = "Conclassors, declassor, and related.">\r
41         **/\r
42 \r
43         /*\r
44         * <fn description = "Default constructor."\r
45         *       comment = "Must be default constructible.">\r
46         **/\r
47                 sample_node_updator\r
48                 ();\r
49         /** </fn> **/\r
50 \r
51         /*\r
52         * <fn description = "Copy constructor."\r
53         *       comment = "Must be copy constructible.">\r
54         **/\r
55                 sample_node_updator\r
56                 (const sample_node_updator &r_other);\r
57         /** </fn> **/\r
58 \r
59         /*\r
60         * <fn description = "Swaps content."\r
61         *       comment = "Must be swappable (if there is such a word).">\r
62         **/\r
63         inline void\r
64                 swap\r
65                 (sample_node_updator &r_other);\r
66         /** </fn> **/\r
67 \r
68         /*\r
69         ***************************************************************************\r
70         ***************************************************************************\r
71         * </group>\r
72         **/\r
73 \r
74 \r
75         /**\r
76         ***************************************************************************\r
77         ***************************************************************************\r
78         ** <group description = "Operators.">\r
79         **/\r
80 \r
81         /**\r
82         * <fn description = "This method is called by the superclass container \r
83         *       object to update the key of a node whose invariants have been\r
84         *       violated. p_key is a pointer to the key being updated;\r
85         *       p_l_child_key is a pointer to the key of the left-child node of\r
86         *       the node being updated (and is NULL if there is no such child node);\r
87         *       p_r_child_key is a pointer to the key of the right-child node of\r
88         *       the node being updated (and is NULL if there is no such child node)."\r
89         *       comment = "@@sample_node_updator_const_key_pointer_comment">\r
90         **/\r
91         void\r
92                 operator()\r
93                 (const_key_pointer p_key, \r
94                         const_key_pointer p_l_child_key, \r
95                         const_key_pointer p_r_child_key);\r
96         /** </fn> **/              \r
97 \r
98         /*\r
99         ***************************************************************************\r
100         ***************************************************************************\r
101         * </group>\r
102         **/\r
103 \r
104         \r
105 /**\r
106 *******************************************************************************\r
107 *******************************************************************************\r
108 * </public_methods_group>\r
109 **/\r
110 };\r
111 /**\r
112 * </class>\r
113 **/\r
114 \r
115 \r
116 #endif // #ifndef SAMPLE_NODE_UPDATOR_HPP\r