X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=inline;f=doc%2Fbouml%2Fbbtkk%2F130050;fp=doc%2Fbouml%2Fbbtkk%2F130050;h=15d60f68113eb130f04834aeeff050859c70a816;hb=36ee14cc2a0ea41c6edea1767c82eec8e90a9ec6;hp=0000000000000000000000000000000000000000;hpb=2a9b694dca646ad9562f47a5bdb4f209059bd22a;p=bbtk.git diff --git a/doc/bouml/bbtkk/130050 b/doc/bouml/bbtkk/130050 new file mode 100644 index 0000000..15d60f6 --- /dev/null +++ b/doc/bouml/bbtkk/130050 @@ -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" + 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 // + relation 139394 ---|> + a public + cpp default "${type}" + classrelation_ref 139394 // + 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())<< + \")\"<*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(); }; +" + + + + + 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(); }; +" + + + + + 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 () + relation 139522 *--> + a role_name "mSetMethodPointer" private + cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; +" + classrelation_ref 139522 // mSetMethodPointer () + 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