From 7fd2e1ffcad5cac4d41acf3572530d7d4eff16b3 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Tue, 23 Apr 2013 18:29:45 +0200 Subject: [PATCH] Factor out ol.structs.Buffer#allocate --- src/ol/structs/buffer.js | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/ol/structs/buffer.js b/src/ol/structs/buffer.js index 0450cf70c1..bc049f7a08 100644 --- a/src/ol/structs/buffer.js +++ b/src/ol/structs/buffer.js @@ -72,16 +72,26 @@ ol.structs.Buffer = function(opt_arr, opt_used, opt_usage) { }; +/** + * @param {number} size Size. + * @return {number} Offset. + */ +ol.structs.Buffer.prototype.allocate = function(size) { + goog.asserts.assert(size > 0); + var offset = this.freeSet_.findRange(size); + goog.asserts.assert(offset != -1); // FIXME + this.freeSet_.removeRange(offset, offset + size); + return offset; +}; + + /** * @param {Array.} values Values. * @return {number} Offset. */ ol.structs.Buffer.prototype.add = function(values) { var size = values.length; - goog.asserts.assert(size > 0); - var offset = this.freeSet_.findRange(size); - goog.asserts.assert(offset != -1); // FIXME - this.freeSet_.removeRange(offset, offset + size); + var offset = this.allocate(size); var i; for (i = 0; i < size; ++i) { this.arr_[offset + i] = values[i];