*** empty log message ***

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4518 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Logan Johnson 2003-03-11 21:34:14 +00:00
commit edd3bac431
2 changed files with 56 additions and 0 deletions

View file

@ -0,0 +1,44 @@
require 'lib_std_deque'
include Lib_std_deque
# Test constructors for std::deque<int>
intDeque = IntDeque.new
intDeque2 = IntDeque.new(3)
intDeque3 = IntDeque.new(4, 42)
intDeque4 = IntDeque.new(intDeque3)
# Test constructors for std::deque<double>
doubleDeque = DoubleDeque.new
doubleDeque2 = DoubleDeque.new(3)
doubleDeque3 = DoubleDeque.new(4, 42.0)
doubleDeque4 = DoubleDeque.new(doubleDeque3)
# Test constructors for std::deque<Real>
realDeque = RealDeque.new
realDeque2 = RealDeque.new(3)
realDeque3 = RealDeque.new(4, 42.0)
realDeque4 = RealDeque.new(realDeque3)
# average() should return the average of all values in a std::deque<int>
intDeque << 2
intDeque << 4
intDeque << 6
avg = average(intDeque)
raise RuntimeError if avg != 4.0
#
# half() should return a std::deque<float>, where each element is half
# the value of the corresponding element in the input deque<float>.
# The original deque's contents are unchanged.
#
realDeque.clear
realDeque << 2.0
halfDeque = half(realDeque)
raise RuntimeError unless halfDeque[0] == 1.0
#
# halve_in_place() should...
#
halve_in_place(doubleDeque)

12
SWIG/Lib/ruby/std_deque.i Normal file
View file

@ -0,0 +1,12 @@
/* Default std_deque wrapper */
%module std_deque
%rename(__getitem__) std::deque::getitem;
%rename(__setitem__) std::deque::setitem;
%predicate std::deque::empty;
%alias std::deque::push_back "<<";
%alias std::deque::size "length";
%include "_std_deque.i"