# lib/goog/structs/collection.js

    1// Copyright 2011 The Closure Library Authors. All Rights Reserved.2//3// Licensed under the Apache License, Version 2.0 (the "License");4// you may not use this file except in compliance with the License.5// You may obtain a copy of the License at6//7//      http://www.apache.org/licenses/LICENSE-2.08//9// Unless required by applicable law or agreed to in writing, software10// distributed under the License is distributed on an "AS-IS" BASIS,11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.12// See the License for the specific language governing permissions and13// limitations under the License.1415/**16 * @fileoverview Defines the collection interface.17 *18 * @author nnaze@google.com (Nathan Naze)19 */2021goog.provide('goog.structs.Collection');22232425/**26 * An interface for a collection of values.27 * @interface28 * @template T29 */30goog.structs.Collection = function() {};313233/**34 * @param {T} value Value to add to the collection.35 */36goog.structs.Collection.prototype.add;373839/**40 * @param {T} value Value to remove from the collection.41 */42goog.structs.Collection.prototype.remove;434445/**46 * @param {T} value Value to find in the collection.47 * @return {boolean} Whether the collection contains the specified value.48 */49goog.structs.Collection.prototype.contains;505152/**53 * @return {number} The number of values stored in the collection.54 */55goog.structs.Collection.prototype.getCount;56