# This file is part of NIT ( http://www.nitlanguage.org ).
#
# Copyright 2008 Floréal Morandat <morandat@lirmm.fr>
+# Copyright 2014 Alexandre Terrasa <alexandre@moz-code.org>
#
# This file is free software, which comes along with NIT. This software is
# distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
# You are allowed to redistribute it and sell it, alone or is a part of
# another product.
+# A `Set` that contains only integers.
class DummyArray
super Set[Int]
- super ArrayCapable[Int]
- var _capacity: Int
- var _length: Int
- redef fun length do return _length
- var _keys: NativeArray[Int]
- var _values: NativeArray[Int]
+ private var capacity: Int
+ redef var length: Int
+ private var keys: NativeArray[Int]
+ private var values: NativeArray[Int]
redef fun add(value: Int)
do
return _values[pos]
end
- init(capacity: Int)
- do
+ # initialize a new DummyArray with `capacity`.
+ init(capacity: Int) is old_style_init do
_capacity = capacity
- _keys = calloc_array(capacity)
- _values = calloc_array(capacity)
+ _keys = new NativeArray[Int](capacity)
+ _values = new NativeArray[Int](capacity)
end
end
+# An iterator over a `DummyArray`.
class DummyIterator
super Iterator[Int]
- var _array: DummyArray
- var _pos: Int
+ private var array: DummyArray
+ private var pos: Int
redef fun item: Int
do
redef fun next do _pos = _pos + 1 end
- init(array: DummyArray)
- do
+ # Initialize an iterator for `array`.
+ init(array: DummyArray) is old_style_init do
_pos = 0
_array = array
end