summaryrefslogtreecommitdiff
path: root/devtools/swigwin-1.3.34/Lib/ruby/std_list.i
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/swigwin-1.3.34/Lib/ruby/std_list.i')
-rw-r--r--devtools/swigwin-1.3.34/Lib/ruby/std_list.i41
1 files changed, 41 insertions, 0 deletions
diff --git a/devtools/swigwin-1.3.34/Lib/ruby/std_list.i b/devtools/swigwin-1.3.34/Lib/ruby/std_list.i
new file mode 100644
index 0000000..8d4284b
--- /dev/null
+++ b/devtools/swigwin-1.3.34/Lib/ruby/std_list.i
@@ -0,0 +1,41 @@
+/*
+ Lists
+*/
+
+%fragment("StdListTraits","header",fragment="StdSequenceTraits")
+%{
+ namespace swig {
+ template <class T >
+ struct traits_asptr<std::list<T> > {
+ static int asptr(VALUE obj, std::list<T> **lis) {
+ return traits_asptr_stdseq<std::list<T> >::asptr(obj, lis);
+ }
+ };
+
+ template <class T>
+ struct traits_from<std::list<T> > {
+ static VALUE from(const std::list<T> & vec) {
+ return traits_from_stdseq<std::list<T> >::from(vec);
+ }
+ };
+ }
+%}
+
+%ignore std::list::push_back;
+%ignore std::list::pop_back;
+
+#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>
+