/trunk/Lib/ruby/std_vector.i
# · Swig · 52 lines · 36 code · 13 blank · 3 comment · 0 complexity · 56f3416d0f06186fd53462720d0c642d MD5 · raw file
- /*
- 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>