src/ColumnValueSet.js
/**
 * @constructor
 * @classdesc
 *
 * A 'bridge' API to implement the necessary functionality of the ES6 Set for interpreting cell values. A `ColumnValueSet` is passed
 * to {@link CellInterpreter} or {@link HTMLTableWrapperControl~populateCellValues} when used in {@link HTMLTableWrapperControl}s. If the `Set`
 * constructor is defined, a `Set` will be used to back this `ColumnValueSet`, otherwise will fall back to an `Array`.
 *
 * The {@link ColumnValueSet#iterator} function of this class implements the ES6 protocol for iterable objects (if the `Symbol` constructor
 * is defined, this class implements the protocol fully). `ColumnValueSet`s should be iterated via this function, regardless of whether
 * ES6 semantics are available, as they aren't strictly necessary to consume iterators. E.g., given a `ColumnValueSet` `columnValueSet`:
 *
 * ```javascript
 * var itr, itrVal, currentVal;
 *
 * itr = columnValueSet.iterator();
 * while (!(itrVal = itr.next()).done) {
 *     currentVal = itrVal.value;
 * // ...
 * ```
 */
@constructor
@classdesc

A 'bridge' API to implement the necessary functionality of the ES6 Set for interpreting cell values.

The  ColumnValueSet#iterator function of this class implements the ES6 protocol for iterable objects (if the `Symbol` constructor
is defined, this class implements the protocol fully). `ColumnValueSet`s should be iterated via this function, regardless of whether
ES6 semantics are available, as they aren't strictly necessary to consume iterators.

```javascript
var itr, itrVal, currentVal.


@constructor @classdesc A ' bridge ' API to implement the necessary functionality of the ES6 Set for interpreting cell values . The ColumnValueSet#iterator function of this class implements the ES6 protocol for iterable objects ( if the ` Symbol ` constructor is defined this class implements the protocol fully ) . ` ColumnValueSet ` s should be iterated via this function regardless of whether ES6 semantics are available as they aren ' t strictly necessary to consume iterators . ` ` ` javascript var itr itrVal currentVal .
function ColumnValueSet() {
    'use strict';
    if (window.Set) {
        this.values = new Set();
    } else {
        this.values = [];
        this.fallback = true;
    }
}
function ColumnValueSet ( ) { 'use strict' ; if ( window . Set ) { this . values = new Set ( ) ; } else { this . values = [ ] ; this . fallback = true ; } }
@constructor
 @classdesc
@constructor @classdesc