Commit | Line | Data |
---|---|---|
920dae64 AT |
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> |