]> Creatis software - bbtk.git/blobdiff - doc/bouml/bbtkk/130050
.
[bbtk.git] / doc / bouml / bbtkk / 130050
diff --git a/doc/bouml/bbtkk/130050 b/doc/bouml/bbtkk/130050
new file mode 100644 (file)
index 0000000..15d60f6
--- /dev/null
@@ -0,0 +1,252 @@
+format 66
+"src" // bbtk::packages::std::src
+  revision 1
+  modified_by 2 "davila"
+  // class settings
+  //class diagram settings
+  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
+  //use case diagram settings
+  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
+  //sequence diagram settings
+  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
+  //collaboration diagram settings
+  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
+  //object diagram settings
+   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
+  //component diagram settings
+  package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default
+  draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default
+  //deployment diagram settings
+  package_name_in_tab default show_context default write_horizontally default auto_label_position default draw_all_relations default shadow default
+  draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default
+  //state diagram settings
+  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
+  show_activities default region_horizontally default drawing_language default show_stereotype_properties default
+  //activity diagram settings
+  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
+  show_infonote default drawing_language default show_stereotype_properties default
+  
+  cpp_namespace "bbstd"
+  classview 128898 "src"
+    //class diagram settings
+    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
+    //collaboration diagram settings
+    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
+    //object diagram settings
+     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
+    //sequence diagram settings
+    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
+    //state diagram settings
+    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
+    show_activities default region_horizontally default drawing_language default show_stereotype_properties default
+    //class settings
+    //activity diagram settings
+    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
+    show_infonote default drawing_language default show_stereotype_properties default
+    class 149762 "Tvector"
+      visibility package stereotype "typedef" explicit_base_type "std::vector<T>"
+      cpp_decl "${comment}typedef ${type} ${name};
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 149890 "MagicBoxSetFunctor"
+      visibility package 
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+      comment "==================================================================
+ We have to create a particular SetFunctor for MagicBox because
+ its input is of type bbtk::Data (i.e. any) and :
+ 1) an any cannot store an any (construction with an any invokes the copy constr.)
+ 2) we cannot invoke the Set method with the content of the any because 
+   it expects an any 
+ hence the Set method of the functor **MUST NOT** extract the 
+ content of the Data prior to invoking the set method of the box"
+      classrelation 139394 // <generalisation>
+       relation 139394 ---|>
+         a public
+           cpp default "${type}"
+           classrelation_ref 139394 // <generalisation>
+         b parent class_ref 129282 // AtomicBlackBoxSetFunctor
+      end
+
+      class 150018 "SetMethodPointerType"
+       visibility package stereotype "typedef" explicit_base_type "void"
+       cpp_decl "${comment}typedef ${type}(MagicBox::* ${name})(bbtk::Data);
+"
+       java_decl ""
+       php_decl ""
+       python_2_2 python_decl ""
+       idl_decl ""
+       explicit_switch_type ""
+       
+      end
+
+      operation 193538 "MagicBoxSetFunctor"
+       cpp_inline public explicit_return_type ""
+       nparams 1
+         param in name "s" type class_ref 150018 // SetMethodPointerType
+       cpp_decl "    ${comment}${inline}${name}${(}${t0} ${p0}${v0}${)}${volatile}${throw} :
+       mSetMethodPointer(s) 
+       {
+       };
+"
+       
+       
+       
+       
+       comment "/ Construction with the pointer on the Set method"
+      end
+
+      operation 193666 "Set"
+       cpp_inline public explicit_return_type "void"
+       nparams 2
+         param inout name "o" explicit_type "bbtk::AtomicBlackBox"
+         param in name "d" type class_ref 129410 // Data
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, const ${t1} & ${p1}${v1}${)}${const}${volatile}${throw}${abstract} { 
+      bbtkDebugMessage(\"data\",9,\"MagicBoxSetfunctor::Set(\"<<
+                      bbtk::HumanTypeName(d.type())<<
+                      \")\"<<std::endl);
+      (((MagicBox*)o)->*mSetMethodPointer)(d);
+    };
+"
+       
+       
+       
+       
+       comment "/ Concrete application of the Set method of object o"
+      end
+
+      operation 193794 "GetTypeInfo"
+       const cpp_inline public return_type class_ref 128642 // TypeInfo
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return typeid(bbtk::Data); };
+"
+       
+       
+       
+       
+       comment "/ "
+      end
+
+      operation 193922 "GetTypeName"
+       const cpp_inline public explicit_return_type "std::string"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return bbtk::TypeName<bbtk::Data>(); };
+"
+       
+       
+       
+       
+      end
+
+      operation 194050 "GetHumanTypeName"
+       const cpp_inline public explicit_return_type "std::string"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return bbtk::HumanTypeName<bbtk::Data>(); };
+"
+       
+       
+       
+       
+      end
+
+      operation 194178 "IsPointerType"
+       const cpp_inline public explicit_return_type "bool"
+       nparams 0
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract} { return false; };
+"
+       
+       
+       
+       
+      end
+
+      operation 194306 "BruteForceSetPointer"
+       cpp_inline public explicit_return_type "void"
+       nparams 2
+         param inout name "" explicit_type "bbtk::AtomicBlackBox"
+         param inout name "" explicit_type "void"
+       cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${v0}, ${t1} * ${p1}${v1}${)}${const}${volatile}${throw}${abstract} {};
+"
+       
+       
+       
+       
+      end
+
+      classrelation 139522 // mSetMethodPointer (<directional composition>)
+       relation 139522 *-->
+         a role_name "mSetMethodPointer" private
+           cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+           classrelation_ref 139522 // mSetMethodPointer (<directional composition>)
+         b parent class_ref 150018 // SetMethodPointerType
+      end
+    end
+  end
+
+  deploymentview 128898 "src"
+    //deployment diagram settings
+    package_name_in_tab default show_context default write_horizontally default auto_label_position default draw_all_relations default shadow default
+    draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default
+    artifact 134530 "bbstdGetVectorElement"
+      stereotype "source"
+      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
+#define ${NAMESPACE}_${NAME}_H
+
+${comment}
+${includes}
+${declarations}
+${namespace_start}
+${definition}
+${namespace_end}
+#endif
+"
+      cpp_src "${comment}
+${includes}
+${namespace_start}
+${members}
+${namespace_end}"
+      associated_classes
+       class_ref 149762 // Tvector
+      end
+    end
+
+    artifact 134658 "bbstdMagicBox"
+      stereotype "source"
+      cpp_h "#ifndef ${NAMESPACE}_${NAME}_H
+#define ${NAMESPACE}_${NAME}_H
+
+${comment}
+${includes}
+${declarations}
+${namespace_start}
+${definition}
+${namespace_end}
+#endif
+"
+      cpp_src "${comment}
+${includes}
+${namespace_start}
+${members}
+${namespace_end}"
+      associated_classes
+       class_ref 149890 // MagicBoxSetFunctor
+      end
+    end
+  end
+end