| Index: third_party/document_image_extractor/third_party/closure-library/closure/goog/structs/simplepool.js
|
| diff --git a/third_party/document_image_extractor/third_party/closure-library/closure/goog/structs/simplepool.js b/third_party/document_image_extractor/third_party/closure-library/closure/goog/structs/simplepool.js
|
| deleted file mode 100644
|
| index ff400fccbc3b8b7a7484a65de082af88a4a9651d..0000000000000000000000000000000000000000
|
| --- a/third_party/document_image_extractor/third_party/closure-library/closure/goog/structs/simplepool.js
|
| +++ /dev/null
|
| @@ -1,200 +0,0 @@
|
| -// Copyright 2007 The Closure Library Authors. All Rights Reserved.
|
| -//
|
| -// Licensed under the Apache License, Version 2.0 (the "License");
|
| -// you may not use this file except in compliance with the License.
|
| -// You may obtain a copy of the License at
|
| -//
|
| -// http://www.apache.org/licenses/LICENSE-2.0
|
| -//
|
| -// Unless required by applicable law or agreed to in writing, software
|
| -// distributed under the License is distributed on an "AS-IS" BASIS,
|
| -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| -// See the License for the specific language governing permissions and
|
| -// limitations under the License.
|
| -
|
| -/**
|
| - * @fileoverview Datastructure: Pool.
|
| - *
|
| - *
|
| - * A generic class for handling pools of objects that is more efficient than
|
| - * goog.structs.Pool because it doesn't maintain a list of objects that are in
|
| - * use. See constructor comment.
|
| - */
|
| -
|
| -
|
| -goog.provide('goog.structs.SimplePool');
|
| -
|
| -goog.require('goog.Disposable');
|
| -
|
| -
|
| -
|
| -/**
|
| - * A generic pool class. Simpler and more efficient than goog.structs.Pool
|
| - * because it doesn't maintain a list of objects that are in use. This class
|
| - * has constant overhead and doesn't create any additional objects as part of
|
| - * the pool management after construction time.
|
| - *
|
| - * IMPORTANT: If the objects being pooled are arrays or maps that can have
|
| - * unlimited number of properties, they need to be cleaned before being
|
| - * returned to the pool.
|
| - *
|
| - * Also note that {@see goog.object.clean} actually allocates an array to clean
|
| - * the object passed to it, so simply using this function would defy the
|
| - * purpose of using the pool.
|
| - *
|
| - * @param {number} initialCount Initial number of objects to populate the free
|
| - * pool at construction time.
|
| - * @param {number} maxCount Maximum number of objects to keep in the free pool.
|
| - * @constructor
|
| - * @extends {goog.Disposable}
|
| - * @template T
|
| - */
|
| -goog.structs.SimplePool = function(initialCount, maxCount) {
|
| - goog.Disposable.call(this);
|
| -
|
| - /**
|
| - * Function for overriding createObject. The avoids a common case requiring
|
| - * subclassing this class.
|
| - * @private {Function}
|
| - */
|
| - this.createObjectFn_ = null;
|
| -
|
| - /**
|
| - * Function for overriding disposeObject. The avoids a common case requiring
|
| - * subclassing this class.
|
| - * @private {Function}
|
| - */
|
| - this.disposeObjectFn_ = null;
|
| -
|
| - /**
|
| - * Maximum number of objects allowed
|
| - * @private {number}
|
| - */
|
| - this.maxCount_ = maxCount;
|
| -
|
| - /**
|
| - * Queue used to store objects that are currently in the pool and available
|
| - * to be used.
|
| - * @private {Array<T>}
|
| - */
|
| - this.freeQueue_ = [];
|
| -
|
| - this.createInitial_(initialCount);
|
| -};
|
| -goog.inherits(goog.structs.SimplePool, goog.Disposable);
|
| -
|
| -
|
| -/**
|
| - * Sets the {@code createObject} function which is used for creating a new
|
| - * object in the pool.
|
| - * @param {Function} createObjectFn Create object function which returns the
|
| - * newly created object.
|
| - */
|
| -goog.structs.SimplePool.prototype.setCreateObjectFn = function(createObjectFn) {
|
| - this.createObjectFn_ = createObjectFn;
|
| -};
|
| -
|
| -
|
| -/**
|
| - * Sets the {@code disposeObject} function which is used for disposing of an
|
| - * object in the pool.
|
| - * @param {Function} disposeObjectFn Dispose object function which takes the
|
| - * object to dispose as a parameter.
|
| - */
|
| -goog.structs.SimplePool.prototype.setDisposeObjectFn = function(
|
| - disposeObjectFn) {
|
| - this.disposeObjectFn_ = disposeObjectFn;
|
| -};
|
| -
|
| -
|
| -/**
|
| - * Gets an unused object from the the pool, if there is one available,
|
| - * otherwise creates a new one.
|
| - * @return {T} An object from the pool or a new one if necessary.
|
| - */
|
| -goog.structs.SimplePool.prototype.getObject = function() {
|
| - if (this.freeQueue_.length) {
|
| - return this.freeQueue_.pop();
|
| - }
|
| - return this.createObject();
|
| -};
|
| -
|
| -
|
| -/**
|
| - * Returns an object to the pool so that it can be reused. If the pool is
|
| - * already full, the object is disposed instead.
|
| - * @param {T} obj The object to release.
|
| - */
|
| -goog.structs.SimplePool.prototype.releaseObject = function(obj) {
|
| - if (this.freeQueue_.length < this.maxCount_) {
|
| - this.freeQueue_.push(obj);
|
| - } else {
|
| - this.disposeObject(obj);
|
| - }
|
| -};
|
| -
|
| -
|
| -/**
|
| - * Populates the pool with initialCount objects.
|
| - * @param {number} initialCount The number of objects to add to the pool.
|
| - * @private
|
| - */
|
| -goog.structs.SimplePool.prototype.createInitial_ = function(initialCount) {
|
| - if (initialCount > this.maxCount_) {
|
| - throw Error('[goog.structs.SimplePool] Initial cannot be greater than max');
|
| - }
|
| - for (var i = 0; i < initialCount; i++) {
|
| - this.freeQueue_.push(this.createObject());
|
| - }
|
| -};
|
| -
|
| -
|
| -/**
|
| - * Should be overridden by sub-classes to return an instance of the object type
|
| - * that is expected in the pool.
|
| - * @return {T} The created object.
|
| - */
|
| -goog.structs.SimplePool.prototype.createObject = function() {
|
| - if (this.createObjectFn_) {
|
| - return this.createObjectFn_();
|
| - } else {
|
| - return {};
|
| - }
|
| -};
|
| -
|
| -
|
| -/**
|
| - * Should be overrideen to dispose of an object. Default implementation is to
|
| - * remove all of the object's members, which should render it useless. Calls the
|
| - * object's dispose method, if available.
|
| - * @param {T} obj The object to dispose.
|
| - */
|
| -goog.structs.SimplePool.prototype.disposeObject = function(obj) {
|
| - if (this.disposeObjectFn_) {
|
| - this.disposeObjectFn_(obj);
|
| - } else if (goog.isObject(obj)) {
|
| - if (goog.isFunction(obj.dispose)) {
|
| - obj.dispose();
|
| - } else {
|
| - for (var i in obj) {
|
| - delete obj[i];
|
| - }
|
| - }
|
| - }
|
| -};
|
| -
|
| -
|
| -/**
|
| - * Disposes of the pool and all objects currently held in the pool.
|
| - * @override
|
| - * @protected
|
| - */
|
| -goog.structs.SimplePool.prototype.disposeInternal = function() {
|
| - goog.structs.SimplePool.superClass_.disposeInternal.call(this);
|
| - // Call disposeObject on each object held by the pool.
|
| - var freeQueue = this.freeQueue_;
|
| - while (freeQueue.length) {
|
| - this.disposeObject(freeQueue.pop());
|
| - }
|
| - delete this.freeQueue_;
|
| -};
|
|
|