/tags/rel-1.3.35/Lib/python/std_vectora.i
Swig | 31 lines | 23 code | 5 blank | 3 comment | 0 complexity | 164ee1cd1c7bf73f58d392a70bc549a3 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
1/*
2 Vectors + allocators
3*/
4
5%fragment("StdVectorATraits","header",fragment="StdSequenceTraits")
6%{
7 namespace swig {
8 template <class T, class A>
9 struct traits_asptr<std::vector<T,A> > {
10 typedef std::vector<T,A> vector_type;
11 typedef T value_type;
12 static int asptr(PyObject *obj, vector_type **vec) {
13 return traits_asptr_stdseq<vector_type>::asptr(obj, vec);
14 }
15 };
16
17 template <class T, class A>
18 struct traits_from<std::vector<T,A> > {
19 typedef std::vector<T,A> vector_type;
20 static PyObject *from(const vector_type& vec) {
21 return traits_from_stdseq<vector_type>::from(vec);
22 }
23 };
24 }
25%}
26
27
28#define %swig_vector_methods(Type...) %swig_sequence_methods(Type)
29#define %swig_vector_methods_val(Type...) %swig_sequence_methods_val(Type);
30
31%include <std/std_vectora.i>