]> Creatis software - bbtk.git/blob - doc/bouml/bbtkk/130050
.
[bbtk.git] / doc / bouml / bbtkk / 130050
1 format 66
2 "src" // bbtk::packages::std::src
3   revision 1
4   modified_by 2 "davila"
5   // class settings
6   //class diagram settings
7   draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
8   //use case diagram settings
9   package_name_in_tab default show_context default auto_label_position default draw_all_relations default class_drawing_mode default shadow default show_stereotype_properties default
10   //sequence diagram settings
11   show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default
12   //collaboration diagram settings
13   show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default show_stereotype_properties default
14   //object diagram settings
15    write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default show_stereotype_properties default
16   //component diagram settings
17   package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default
18   draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default
19   //deployment diagram settings
20   package_name_in_tab default show_context default write_horizontally default auto_label_position default draw_all_relations default shadow default
21   draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default
22   //state diagram settings
23   package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
24   show_activities default region_horizontally default drawing_language default show_stereotype_properties default
25   //activity diagram settings
26   package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
27   show_infonote default drawing_language default show_stereotype_properties default
28   
29   cpp_namespace "bbstd"
30   classview 128898 "src"
31     //class diagram settings
32     draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
33     //collaboration diagram settings
34     show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default show_stereotype_properties default
35     //object diagram settings
36      write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default show_stereotype_properties default
37     //sequence diagram settings
38     show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default
39     //state diagram settings
40     package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
41     show_activities default region_horizontally default drawing_language default show_stereotype_properties default
42     //class settings
43     //activity diagram settings
44     package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
45     show_infonote default drawing_language default show_stereotype_properties default
46     class 149762 "Tvector"
47       visibility package stereotype "typedef" explicit_base_type "std::vector<T>"
48       cpp_decl "${comment}typedef ${type} ${name};
49 "
50       java_decl ""
51       php_decl ""
52       python_2_2 python_decl ""
53       idl_decl ""
54       explicit_switch_type ""
55       
56     end
57
58     class 149890 "MagicBoxSetFunctor"
59       visibility package 
60       cpp_decl "${comment}${template}class ${name}${inherit} {
61 ${members}};
62 ${inlines}
63 "
64       java_decl ""
65       php_decl ""
66       python_2_2 python_decl ""
67       idl_decl ""
68       explicit_switch_type ""
69       
70       comment "==================================================================
71  We have to create a particular SetFunctor for MagicBox because
72  its input is of type bbtk::Data (i.e. any) and :
73  1) an any cannot store an any (construction with an any invokes the copy constr.)
74  2) we cannot invoke the Set method with the content of the any because 
75    it expects an any 
76  hence the Set method of the functor **MUST NOT** extract the 
77  content of the Data prior to invoking the set method of the box"
78       classrelation 139394 // <generalisation>
79         relation 139394 ---|>
80           a public
81             cpp default "${type}"
82             classrelation_ref 139394 // <generalisation>
83           b parent class_ref 129282 // AtomicBlackBoxSetFunctor
84       end
85
86       class 150018 "SetMethodPointerType"
87         visibility package stereotype "typedef" explicit_base_type "void"
88         cpp_decl "${comment}typedef ${type}(MagicBox::* ${name})(bbtk::Data);
89 "
90         java_decl ""
91         php_decl ""
92         python_2_2 python_decl ""
93         idl_decl ""
94         explicit_switch_type ""
95         
96       end
97
98       operation 193538 "MagicBoxSetFunctor"
99         cpp_inline public explicit_return_type ""
100         nparams 1
101           param in name "s" type class_ref 150018 // SetMethodPointerType
102         cpp_decl "    ${comment}${inline}${name}${(}${t0} ${p0}${v0}${)}${volatile}${throw} :
103        mSetMethodPointer(s) 
104        {
105        };
106 "
107         
108         
109         
110         
111         comment "/ Construction with the pointer on the Set method"
112       end
113
114       operation 193666 "Set"
115         cpp_inline public explicit_return_type "void"
116         nparams 2
117           param inout name "o" explicit_type "bbtk::AtomicBlackBox"
118           param in name "d" type class_ref 129410 // Data
119         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, const ${t1} & ${p1}${v1}${)}${const}${volatile}${throw}${abstract} { 
120       bbtkDebugMessage(\"data\",9,\"MagicBoxSetfunctor::Set(\"<<
121                        bbtk::HumanTypeName(d.type())<<
122                        \")\"<<std::endl);
123       (((MagicBox*)o)->*mSetMethodPointer)(d);
124     };
125 "
126         
127         
128         
129         
130         comment "/ Concrete application of the Set method of object o"
131       end
132
133       operation 193794 "GetTypeInfo"
134         const cpp_inline public return_type class_ref 128642 // TypeInfo
135         nparams 0
136         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return typeid(bbtk::Data); };
137 "
138         
139         
140         
141         
142         comment "/ "
143       end
144
145       operation 193922 "GetTypeName"
146         const cpp_inline public explicit_return_type "std::string"
147         nparams 0
148         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return bbtk::TypeName<bbtk::Data>(); };
149 "
150         
151         
152         
153         
154       end
155
156       operation 194050 "GetHumanTypeName"
157         const cpp_inline public explicit_return_type "std::string"
158         nparams 0
159         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return bbtk::HumanTypeName<bbtk::Data>(); };
160 "
161         
162         
163         
164         
165       end
166
167       operation 194178 "IsPointerType"
168         const cpp_inline public explicit_return_type "bool"
169         nparams 0
170         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return false; };
171 "
172         
173         
174         
175         
176       end
177
178       operation 194306 "BruteForceSetPointer"
179         cpp_inline public explicit_return_type "void"
180         nparams 2
181           param inout name "" explicit_type "bbtk::AtomicBlackBox"
182           param inout name "" explicit_type "void"
183         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, ${t1} * ${p1}${v1}${)}${const}${volatile}${throw}${abstract} {};
184 "
185         
186         
187         
188         
189       end
190
191       classrelation 139522 // mSetMethodPointer (<directional composition>)
192         relation 139522 *-->
193           a role_name "mSetMethodPointer" private
194             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
195 "
196             classrelation_ref 139522 // mSetMethodPointer (<directional composition>)
197           b parent class_ref 150018 // SetMethodPointerType
198       end
199     end
200   end
201
202   deploymentview 128898 "src"
203     //deployment diagram settings
204     package_name_in_tab default show_context default write_horizontally default auto_label_position default draw_all_relations default shadow default
205     draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default
206     artifact 134530 "bbstdGetVectorElement"
207       stereotype "source"
208       cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
209 #define ${NAMESPACE}_${NAME}_H
210
211 ${comment}
212 ${includes}
213 ${declarations}
214 ${namespace_start}
215 ${definition}
216 ${namespace_end}
217 #endif
218 "
219       cpp_src "${comment}
220 ${includes}
221 ${namespace_start}
222 ${members}
223 ${namespace_end}"
224       associated_classes
225         class_ref 149762 // Tvector
226       end
227     end
228
229     artifact 134658 "bbstdMagicBox"
230       stereotype "source"
231       cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
232 #define ${NAMESPACE}_${NAME}_H
233
234 ${comment}
235 ${includes}
236 ${declarations}
237 ${namespace_start}
238 ${definition}
239 ${namespace_end}
240 #endif
241 "
242       cpp_src "${comment}
243 ${includes}
244 ${namespace_start}
245 ${members}
246 ${namespace_end}"
247       associated_classes
248         class_ref 149890 // MagicBoxSetFunctor
249       end
250     end
251   end
252 end