From c88b9e877778b25c46db79daa10a1fb73fdfb197 Mon Sep 17 00:00:00 2001 From: Takashi Tamura Date: Sat, 25 Feb 2017 16:08:21 +0900 Subject: [PATCH] [ruby] make std::list include Enumerable. --- Examples/test-suite/ruby/li_std_list_runme.rb | 8 ++++++++ Lib/ruby/std_list.i | 1 + 2 files changed, 9 insertions(+) create mode 100644 Examples/test-suite/ruby/li_std_list_runme.rb diff --git a/Examples/test-suite/ruby/li_std_list_runme.rb b/Examples/test-suite/ruby/li_std_list_runme.rb new file mode 100644 index 000000000..b1182e2e3 --- /dev/null +++ b/Examples/test-suite/ruby/li_std_list_runme.rb @@ -0,0 +1,8 @@ +require 'swig_assert' + +require 'li_std_list' + +include Li_std_list + +x = DoubleList.new([1,2,3]) +swig_assert_equal("[1.0]", "x.find_all{|e| e == 1 }", binding) diff --git a/Lib/ruby/std_list.i b/Lib/ruby/std_list.i index 8d4284bbc..5f179cc69 100644 --- a/Lib/ruby/std_list.i +++ b/Lib/ruby/std_list.i @@ -27,6 +27,7 @@ #define %swig_list_methods(Type...) %swig_sequence_methods(Type) #define %swig_list_methods_val(Type...) %swig_sequence_methods_val(Type); +%mixin std::list "Enumerable"; %rename("delete") std::list::__delete__; %rename("reject!") std::list::reject_bang;