#!/usr/bin/env ruby # # This is a test of STL containers using proc # objects to change the sorting function used in them. Same as a # std::binary_predicate in C++. # # # # # require 'swig_assert' require 'li_std_functors' def _set(container) swig_assert_each_line(< a } ) [9,1,8,2,7,3,6,4,5].each { |x| cont.insert(x) } cont.to_a == [1, 2, 3, 4, 5, 6, 7, 8, 9] cont = #{container}.new(proc { |a,b| b < a } ) cont.insert(1) cont.to_a == [1] i0 = cont.begin() cont.erase(i0) # don't use i0 anymore, it is invalid now cont.to_a == [] EOF end def _map(container) swig_assert_each_line(<