--- /dev/null
+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