summaryrefslogtreecommitdiff
path: root/trunk/Lib/python/std_vector.i
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/Lib/python/std_vector.i')
-rw-r--r--trunk/Lib/python/std_vector.i27
1 files changed, 27 insertions, 0 deletions
diff --git a/trunk/Lib/python/std_vector.i b/trunk/Lib/python/std_vector.i
new file mode 100644
index 000000000..3f04a30c7
--- /dev/null
+++ b/trunk/Lib/python/std_vector.i
@@ -0,0 +1,27 @@
+/*
+ Vectors
+*/
+
+%fragment("StdVectorTraits","header",fragment="StdSequenceTraits")
+%{
+ namespace swig {
+ template <class T>
+ struct traits_asptr<std::vector<T> > {
+ static int asptr(PyObject *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 PyObject *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>