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