Fixed renames of std_* containers to a safer

%rename directive.



git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9810 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Gonzalo Garramuno 2007-05-16 21:27:08 +00:00
commit d4eec2670b
9 changed files with 90 additions and 4 deletions

View file

@ -27,5 +27,15 @@
#define %swig_list_methods(Type...) %swig_sequence_methods(Type)
#define %swig_list_methods_val(Type...) %swig_sequence_methods_val(Type);
%rename("delete") std::list::__delete__;
%rename("reject!") std::list::reject_bang;
%rename("map!") std::list::map_bang;
%rename("empty?") std::list::empty;
%rename("include?" ) std::list::__contains__ const;
%rename("has_key?" ) std::list::has_key const;
%alias std::list::push "<<";
%include <std/std_list.i>

View file

@ -404,4 +404,16 @@
%mixin std::map "Enumerable";
%include <rubystdfunctors.swg>
%rename("delete") std::map::__delete__;
%rename("reject!") std::map::reject_bang;
%rename("map!") std::map::map_bang;
%rename("empty?") std::map::empty;
%rename("include?" ) std::map::__contains__ const;
%rename("has_key?" ) std::map::has_key const;
%alias std::map::push "<<";
%include <std/std_map.i>

View file

@ -213,5 +213,14 @@
%mixin std::multimap "Enumerable";
%rename("delete") std::multimap::__delete__;
%rename("reject!") std::multimap::reject_bang;
%rename("map!") std::multimap::map_bang;
%rename("empty?") std::multimap::empty;
%rename("include?" ) std::multimap::__contains__ const;
%rename("has_key?" ) std::multimap::has_key const;
%alias std::multimap::push "<<";
%include <std/std_multimap.i>

View file

@ -41,4 +41,13 @@
%rename("delete") std::multiset::__delete__;
%rename("reject!") std::multiset::reject_bang;
%rename("map!") std::multiset::map_bang;
%rename("empty?") std::multiset::empty;
%rename("include?" ) std::multiset::__contains__ const;
%rename("has_key?" ) std::multiset::has_key const;
%alias std::multiset::push "<<";
%include <std/std_multiset.i>

View file

@ -7,7 +7,7 @@
%fragment("StdPairTraits","header",fragment="StdTraits") {
namespace swig {
#ifdef SWIG_STD_PAIR_ASVAL
template <class T, class U >
struct traits_asval<std::pair<T,U> > {
typedef std::pair<T,U> value_type;
@ -25,7 +25,7 @@
return res1 > res2 ? res1 : res2;
} else {
T *pfirst = 0;
int res1 = swig::asval((VALUE)first, 0);
int res1 = swig::asval((VALUE)first, pfirst);
if (!SWIG_IsOK(res1)) return res1;
U *psecond = 0;
int res2 = swig::asval((VALUE)second, psecond);
@ -52,7 +52,6 @@
}
};
#else
template <class T, class U >
struct traits_asptr<std::pair<T,U> > {
typedef std::pair<T,U> value_type;
@ -99,8 +98,13 @@
}
};
#endif
template <>
template <class T, class U >
struct noconst_traits< const std::pair< T, U > >
{
typedef std::pair< typename swig::noconst_traits<T >, U > noconst_type;
};
template <class T, class U >
struct traits_from<std::pair<T,U> > {

View file

@ -21,4 +21,13 @@
}
%}
%rename("delete") std::queue::__delete__;
%rename("reject!") std::queue::reject_bang;
%rename("map!") std::queue::map_bang;
%rename("empty?") std::queue::empty;
%rename("include?" ) std::queue::__contains__ const;
%rename("has_key?" ) std::queue::has_key const;
%alias std::queue::push "<<";
%include <std/std_queue.i>

View file

@ -61,4 +61,16 @@
%mixin std::set "Enumerable";
%include <rubystdfunctors.swg>
%rename("delete") std::set::__delete__;
%rename("reject!") std::set::reject_bang;
%rename("map!") std::set::map_bang;
%rename("empty?") std::set::empty;
%rename("include?" ) std::set::__contains__ const;
%rename("has_key?" ) std::set::has_key const;
%alias std::set::push "<<";
%include <std/std_set.i>

View file

@ -21,4 +21,15 @@
}
%}
%rename("delete") std::stack::__delete__;
%rename("reject!") std::stack::reject_bang;
%rename("map!") std::stack::map_bang;
%rename("empty?") std::stack::empty;
%rename("include?" ) std::stack::__contains__ const;
%rename("has_key?" ) std::stack::has_key const;
%alias std::stack::push "<<";
%include <std/std_stack.i>

View file

@ -38,5 +38,15 @@
%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>