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:
parent
50c035fb07
commit
d4eec2670b
9 changed files with 90 additions and 4 deletions
|
|
@ -27,5 +27,15 @@
|
||||||
#define %swig_list_methods(Type...) %swig_sequence_methods(Type)
|
#define %swig_list_methods(Type...) %swig_sequence_methods(Type)
|
||||||
#define %swig_list_methods_val(Type...) %swig_sequence_methods_val(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>
|
%include <std/std_list.i>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -404,4 +404,16 @@
|
||||||
%mixin std::map "Enumerable";
|
%mixin std::map "Enumerable";
|
||||||
|
|
||||||
%include <rubystdfunctors.swg>
|
%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>
|
%include <std/std_map.i>
|
||||||
|
|
|
||||||
|
|
@ -213,5 +213,14 @@
|
||||||
|
|
||||||
%mixin std::multimap "Enumerable";
|
%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>
|
%include <std/std_multimap.i>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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>
|
%include <std/std_multiset.i>
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
%fragment("StdPairTraits","header",fragment="StdTraits") {
|
%fragment("StdPairTraits","header",fragment="StdTraits") {
|
||||||
namespace swig {
|
namespace swig {
|
||||||
#ifdef SWIG_STD_PAIR_ASVAL
|
|
||||||
template <class T, class U >
|
template <class T, class U >
|
||||||
struct traits_asval<std::pair<T,U> > {
|
struct traits_asval<std::pair<T,U> > {
|
||||||
typedef std::pair<T,U> value_type;
|
typedef std::pair<T,U> value_type;
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
return res1 > res2 ? res1 : res2;
|
return res1 > res2 ? res1 : res2;
|
||||||
} else {
|
} else {
|
||||||
T *pfirst = 0;
|
T *pfirst = 0;
|
||||||
int res1 = swig::asval((VALUE)first, 0);
|
int res1 = swig::asval((VALUE)first, pfirst);
|
||||||
if (!SWIG_IsOK(res1)) return res1;
|
if (!SWIG_IsOK(res1)) return res1;
|
||||||
U *psecond = 0;
|
U *psecond = 0;
|
||||||
int res2 = swig::asval((VALUE)second, psecond);
|
int res2 = swig::asval((VALUE)second, psecond);
|
||||||
|
|
@ -52,7 +52,6 @@
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#else
|
|
||||||
template <class T, class U >
|
template <class T, class U >
|
||||||
struct traits_asptr<std::pair<T,U> > {
|
struct traits_asptr<std::pair<T,U> > {
|
||||||
typedef std::pair<T,U> value_type;
|
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 >
|
template <class T, class U >
|
||||||
struct traits_from<std::pair<T,U> > {
|
struct traits_from<std::pair<T,U> > {
|
||||||
|
|
|
||||||
|
|
@ -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>
|
%include <std/std_queue.i>
|
||||||
|
|
|
||||||
|
|
@ -61,4 +61,16 @@
|
||||||
%mixin std::set "Enumerable";
|
%mixin std::set "Enumerable";
|
||||||
|
|
||||||
%include <rubystdfunctors.swg>
|
%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>
|
%include <std/std_set.i>
|
||||||
|
|
|
||||||
|
|
@ -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>
|
%include <std/std_stack.i>
|
||||||
|
|
|
||||||
|
|
@ -38,5 +38,15 @@
|
||||||
%ignore std::vector::push_back;
|
%ignore std::vector::push_back;
|
||||||
%ignore std::vector::pop_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>
|
%include <std/std_vector.i>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue