2 "src" // bbtk::packages::std::src
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
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
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};
52 python_2_2 python_decl ""
54 explicit_switch_type ""
58 class 149890 "MagicBoxSetFunctor"
60 cpp_decl "${comment}${template}class ${name}${inherit} {
66 python_2_2 python_decl ""
68 explicit_switch_type ""
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
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>
82 classrelation_ref 139394 // <generalisation>
83 b parent class_ref 129282 // AtomicBlackBoxSetFunctor
86 class 150018 "SetMethodPointerType"
87 visibility package stereotype "typedef" explicit_base_type "void"
88 cpp_decl "${comment}typedef ${type}(MagicBox::* ${name})(bbtk::Data);
92 python_2_2 python_decl ""
94 explicit_switch_type ""
98 operation 193538 "MagicBoxSetFunctor"
99 cpp_inline public explicit_return_type ""
101 param in name "s" type class_ref 150018 // SetMethodPointerType
102 cpp_decl " ${comment}${inline}${name}${(}${t0} ${p0}${v0}${)}${volatile}${throw} :
111 comment "/ Construction with the pointer on the Set method"
114 operation 193666 "Set"
115 cpp_inline public explicit_return_type "void"
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())<<
123 (((MagicBox*)o)->*mSetMethodPointer)(d);
130 comment "/ Concrete application of the Set method of object o"
133 operation 193794 "GetTypeInfo"
134 const cpp_inline public return_type class_ref 128642 // TypeInfo
136 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return typeid(bbtk::Data); };
145 operation 193922 "GetTypeName"
146 const cpp_inline public explicit_return_type "std::string"
148 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return bbtk::TypeName<bbtk::Data>(); };
156 operation 194050 "GetHumanTypeName"
157 const cpp_inline public explicit_return_type "std::string"
159 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return bbtk::HumanTypeName<bbtk::Data>(); };
167 operation 194178 "IsPointerType"
168 const cpp_inline public explicit_return_type "bool"
170 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return false; };
178 operation 194306 "BruteForceSetPointer"
179 cpp_inline public explicit_return_type "void"
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} {};
191 classrelation 139522 // mSetMethodPointer (<directional composition>)
193 a role_name "mSetMethodPointer" private
194 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
196 classrelation_ref 139522 // mSetMethodPointer (<directional composition>)
197 b parent class_ref 150018 // SetMethodPointerType
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"
208 cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
209 #define ${NAMESPACE}_${NAME}_H
225 class_ref 149762 // Tvector
229 artifact 134658 "bbstdMagicBox"
231 cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
232 #define ${NAMESPACE}_${NAME}_H
248 class_ref 149890 // MagicBoxSetFunctor