diff --git a/Doc/Manual/Scilab.html b/Doc/Manual/Scilab.html
index 7b637fed1..3a809295d 100644
--- a/Doc/Manual/Scilab.html
+++ b/Doc/Manual/Scilab.html
@@ -1119,6 +1119,7 @@ The list of wrapped sequence containers are:
And for associative containers:
diff --git a/Examples/test-suite/li_std_container_typemaps.i b/Examples/test-suite/li_std_container_typemaps.i
index 18da98552..3a6a6b74a 100644
--- a/Examples/test-suite/li_std_container_typemaps.i
+++ b/Examples/test-suite/li_std_container_typemaps.i
@@ -1,4 +1,4 @@
-%module li_std_sequence_container_typemaps
+%module li_std_container_typemaps
%include stl.i
@@ -90,10 +90,10 @@ namespace std
%template(TYPE ## _list) std::list;
%template(TYPE ## _deque) std::deque;
%template(TYPE ## _set) std::set;
+ %template(TYPE ## _multiset) std::multiset;
}
%enddef
-
%define instantiate_containers_functions(TYPE...)
namespace std
{
@@ -109,6 +109,9 @@ namespace std
%template(ret_ ## TYPE ## _set) ret_container >;
%template(val_ ## TYPE ## _set) val_container >;
%template(ref_ ## TYPE ## _set) ref_container >;
+ %template(ret_ ## TYPE ## _multiset) ret_container >;
+ %template(val_ ## TYPE ## _multiset) val_container >;
+ %template(ref_ ## TYPE ## _multiset) ref_container >;
}
%enddef
diff --git a/Examples/test-suite/scilab/li_std_container_typemaps_runme.sci b/Examples/test-suite/scilab/li_std_container_typemaps_runme.sci
index a0b9a9bf5..d50338a28 100644
--- a/Examples/test-suite/scilab/li_std_container_typemaps_runme.sci
+++ b/Examples/test-suite/scilab/li_std_container_typemaps_runme.sci
@@ -99,6 +99,7 @@ testContainer("vector");
testContainer("list");
testContainer("deque");
testContainer("set");
+testContainer("multiset");
exec("swigtest.quit", -1);
diff --git a/Lib/scilab/std_multiset.i b/Lib/scilab/std_multiset.i
new file mode 100644
index 000000000..67e17926f
--- /dev/null
+++ b/Lib/scilab/std_multiset.i
@@ -0,0 +1,30 @@
+/*
+ *
+ * C++ type : STL multiset
+ * Scilab type : matrix (for primitive types) or list (for pointer types)
+ *
+*/
+
+%fragment("StdMultisetTraits", "header", fragment="StdSequenceTraits")
+%{
+ namespace swig {
+ template
+ struct traits_asptr > {
+ static int asptr(const SwigSciObject &obj, std::multiset **multiset) {
+ return traits_asptr_stdseq >::asptr(obj, multiset);
+ }
+ };
+
+ template
+ struct traits_from > {
+ static SwigSciObject from(const std::multiset& multiset) {
+ return traits_from_stdseq >::from(multiset);
+ }
+ };
+ }
+%}
+
+#define %swig_multiset_methods(Set...) %swig_sequence_methods(Type)
+#define %swig_multiset_methods_val(Type...) %swig_sequence_methods_val(Type);
+
+%include
diff --git a/Lib/scilab/stl.i b/Lib/scilab/stl.i
index c45153791..8dc6a1f62 100644
--- a/Lib/scilab/stl.i
+++ b/Lib/scilab/stl.i
@@ -5,3 +5,4 @@
%include std_deque.i
%include std_list.i
%include std_set.i
+%include std_multiset.i