PageRenderTime 47ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 0ms

/trunk/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. %fragment("StdVectorATraits","header",fragment="StdSequenceTraits")
  5. %{
  6. namespace swig {
  7. template <class T, class A>
  8. struct traits_asptr<std::vector<T,A> > {
  9. typedef std::vector<T,A> vector_type;
  10. typedef T value_type;
  11. static int asptr(PyObject *obj, vector_type **vec) {
  12. return traits_asptr_stdseq<vector_type>::asptr(obj, vec);
  13. }
  14. };
  15. template <class T, class A>
  16. struct traits_from<std::vector<T,A> > {
  17. typedef std::vector<T,A> vector_type;
  18. static PyObject *from(const vector_type& vec) {
  19. return traits_from_stdseq<vector_type>::from(vec);
  20. }
  21. };
  22. }
  23. %}
  24. #define %swig_vector_methods(Type...) %swig_sequence_methods(Type)
  25. #define %swig_vector_methods_val(Type...) %swig_sequence_methods_val(Type);
  26. %include <std/std_vectora.i>