summaryrefslogtreecommitdiff
path: root/linux-x86/share/swig/scilab/std_vector.i
diff options
context:
space:
mode:
Diffstat (limited to 'linux-x86/share/swig/scilab/std_vector.i')
-rw-r--r--linux-x86/share/swig/scilab/std_vector.i31
1 files changed, 31 insertions, 0 deletions
diff --git a/linux-x86/share/swig/scilab/std_vector.i b/linux-x86/share/swig/scilab/std_vector.i
new file mode 100644
index 0000000..6eaeeca
--- /dev/null
+++ b/linux-x86/share/swig/scilab/std_vector.i
@@ -0,0 +1,31 @@
+/*
+ *
+ * C++ type : STL vector
+ * Scilab type : matrix (for primitive types) or list (for pointer types)
+ *
+*/
+
+%fragment("StdVectorTraits", "header", fragment="StdSequenceTraits")
+%{
+ namespace swig {
+ template <class T>
+ struct traits_asptr<std::vector<T> > {
+ static int asptr(const SwigSciObject &obj, std::vector<T> **vec) {
+ return traits_asptr_stdseq<std::vector<T> >::asptr(obj, vec);
+ }
+ };
+
+ template <class T>
+ struct traits_from<std::vector<T> > {
+ static SwigSciObject from(const std::vector<T>& vec) {
+ return traits_from_stdseq<std::vector<T> >::from(vec);
+ }
+ };
+ }
+%}
+
+
+#define %swig_vector_methods(Type...) %swig_sequence_methods(Type)
+#define %swig_vector_methods_val(Type...) %swig_sequence_methods_val(Type);
+
+%include <std/std_vector.i>