geometry: make `BoxedArray` a subclass of `Array`
authorAlexis Laferrière <alexis.laf@xymus.net>
Sat, 20 May 2017 17:44:03 +0000 (10:44 -0700)
committerAlexis Laferrière <alexis.laf@xymus.net>
Sun, 28 May 2017 19:45:16 +0000 (15:45 -0400)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

lib/geometry/boxes.nit

index 314cde3..dc87cb5 100644 (file)
@@ -322,22 +322,19 @@ interface BoxedCollection[E: Boxed[Numeric]]
        fun items_overlapping(region :Boxed[Numeric]): SimpleCollection[E] is abstract
 end
 
-# A BoxedCollection implemented with an array, linear performances for searching but really
-# fast for creation and filling
+# `BoxedCollection` implemented by an array
+#
+# Linear performances for searching, but really fast creation and filling.
 class BoxedArray[E: Boxed[Numeric]]
        super BoxedCollection[E]
+       super Array[E]
 
-       private var data: Array[E] = new Array[E]
-
-       redef fun add(item) do data.add(item)
        redef fun items_overlapping(item)
        do
                var arr = new Array[E]
-               for i in data do
+               for i in self do
                        if i.intersects(item) then arr.add(i)
                end
                return arr
        end
-
-       redef fun iterator do return data.iterator
 end