| /* |
| Vectors |
| */ |
| |
| %fragment("StdVectorTraits","header",fragment="StdSequenceTraits") |
| %{ |
| namespace swig { |
| template <class T> |
| struct traits_asptr<std::vector<T> > { |
| static int asptr(VALUE 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 VALUE from(const std::vector<T>& vec) { |
| return traits_from_stdseq<std::vector<T> >::from(vec); |
| } |
| }; |
| } |
| %} |
| |
| |
| |
| %define %swig_vector_methods(Type...) |
| %swig_sequence_methods(Type) |
| %swig_sequence_front_inserters(Type); |
| %enddef |
| |
| %define %swig_vector_methods_val(Type...) |
| %swig_sequence_methods_val(Type); |
| %swig_sequence_front_inserters(Type); |
| %enddef |
| |
| |
| %mixin std::vector "Enumerable"; |
| %ignore std::vector::push_back; |
| %ignore std::vector::pop_back; |
| |
| |
| %rename("delete") std::vector::__delete__; |
| %rename("reject!") std::vector::reject_bang; |
| %rename("map!") std::vector::map_bang; |
| %rename("empty?") std::vector::empty; |
| %rename("include?" ) std::vector::__contains__ const; |
| %rename("has_key?" ) std::vector::has_key const; |
| |
| %alias std::vector::push "<<"; |
| |
| %include <std/std_vector.i> |
| |