whole_func_string: function() {
      this.rcMap = [];
      this.merges = [];
  
      this.isIgnore = function(ir, ic) {
        var _ignore = RowColMap.prototype.TYPE.IGNORE;
        return this.getRowColMapProp(ir, ic, _ignore);
      };
      this.isEmpty = function(ir, ic) {
        var _empty = RowColMap.prototype.TYPE.EMPTY;
        return this.getRowColMapProp(ir, ic, _empty);
      };
      this.isRowSpan = function(ir) {
        var _rowspan = RowColMap.prototype.TYPE.ROWSPAN;
        return this.getRowColMapProp(ir, undefined, _rowspan);
      };
      this.isColSpan = function(ir) {
        var _colspan = RowColMap.prototype.TYPE.COLSPAN;
        return this.getRowColMapProp(ir, undefined, _colspan);
      };
      this.isSpan = function(ir) {
        return this.isRowSpan(ir) || this.isColSpan(ir);
      };
      this.isMerge = function(ir) {
        return this.merges.length > 0;
      };
      this.addMerge = function(ir, mergeObj) {
        var _merge = RowColMap.prototype.TYPE.MERGE;
        this.merges.push(mergeObj);
        this.setRowColMapProp(ir, undefined, _merge, this.merges);
      };
      this.getRowColMapProp = function(ir, ic, key) {
        if (this.rcMap[ir]) {
          if (typeof key === "undefined") {
            return this.rcMap[ir][ic];
          } else if (typeof ic === "undefined") {
            return this.rcMap[ir][key];
          } else if (this.rcMap[ir][ic]) {
            return this.rcMap[ir][ic][key];
          }
        }
        return undefined;
      };
      this.setRowColMapProp = function(ir, ic, key, value) {
        this.rcMap[ir] = this.rcMap[ir] || [];
        if (typeof key === "undefined") {
          return (this.rcMap[ir][ic] = value);
        } else if (typeof ic === "undefined") {
          return (this.rcMap[ir][key] = value);
        } else {
          this.rcMap[ir][ic] = this.rcMap[ir][ic] || [];
          return (this.rcMap[ir][ic][key] = value);
        }
      };
      this.generateTotal = function(ir, ic) {
        var VALUE = RowColMap.prototype.TYPE.VALUE;
        var _total = 0;
  
        if (this.isRowSpan(ir) && this.isColSpan(ir)) {
          _total = this.getRowColMapProp(ir, ic, VALUE) || 0;
        } else if (this.getRowColMapProp(ir, ic, VALUE)) {
          _total = this.getRowColMapProp(ir, ic, VALUE);
        }
        return _total;
      };
      this.convertSpanToArray = function(ir, ic, key, _return, colDel) {
        if (this.rcMap[ir] && this.isSpan(ir)) {
          var total = this.generateTotal(ir, ic);
  
          if (_isEnhanced(key)) {
            return new Array(total).concat(_return);
          } else {
            return new Array(total).concat(_return).join(colDel);
          }
        }
        return _return;
      };
      this.handleRowColMapProp = function(type, ir, ic, key, _return, colDel) {
        switch (type) {
          case RowColMap.prototype.TYPE.IGNORE:
            return;
          case RowColMap.prototype.TYPE.EMPTY:
            return " ";
          case RowColMap.prototype.TYPE.DEFAULT:
          default:
            return this.convertSpanToArray(ir, ic, key, _return, colDel);
        }
      };
    }
func_code_string: function() {
      this.rcMap = [];
      this.merges = [];
  
      this.isIgnore = function(ir, ic) {
        var _ignore = RowColMap.prototype.TYPE.IGNORE;
        return this.getRowColMapProp(ir, ic, _ignore);
      };
      this.isEmpty = function(ir, ic) {
        var _empty = RowColMap.prototype.TYPE.EMPTY;
        return this.getRowColMapProp(ir, ic, _empty);
      };
      this.isRowSpan = function(ir) {
        var _rowspan = RowColMap.prototype.TYPE.ROWSPAN;
        return this.getRowColMapProp(ir, undefined, _rowspan);
      };
      this.isColSpan = function(ir) {
        var _colspan = RowColMap.prototype.TYPE.COLSPAN;
        return this.getRowColMapProp(ir, undefined, _colspan);
      };
      this.isSpan = function(ir) {
        return this.isRowSpan(ir) || this.isColSpan(ir);
      };
      this.isMerge = function(ir) {
        return this.merges.length > 0;
      };
      this.addMerge = function(ir, mergeObj) {
        var _merge = RowColMap.prototype.TYPE.MERGE;
        this.merges.push(mergeObj);
        this.setRowColMapProp(ir, undefined, _merge, this.merges);
      };
      this.getRowColMapProp = function(ir, ic, key) {
        if (this.rcMap[ir]) {
          if (typeof key === "undefined") {
            return this.rcMap[ir][ic];
          } else if (typeof ic === "undefined") {
            return this.rcMap[ir][key];
          } else if (this.rcMap[ir][ic]) {
            return this.rcMap[ir][ic][key];
          }
        }
        return undefined;
      };
      this.setRowColMapProp = function(ir, ic, key, value) {
        this.rcMap[ir] = this.rcMap[ir] || [];
        if (typeof key === "undefined") {
          return (this.rcMap[ir][ic] = value);
        } else if (typeof ic === "undefined") {
          return (this.rcMap[ir][key] = value);
        } else {
          this.rcMap[ir][ic] = this.rcMap[ir][ic] || [];
          return (this.rcMap[ir][ic][key] = value);
        }
      };
      this.generateTotal = function(ir, ic) {
        var VALUE = RowColMap.prototype.TYPE.VALUE;
        var _total = 0;
  
        if (this.isRowSpan(ir) && this.isColSpan(ir)) {
          _total = this.getRowColMapProp(ir, ic, VALUE) || 0;
        } else if (this.getRowColMapProp(ir, ic, VALUE)) {
          _total = this.getRowColMapProp(ir, ic, VALUE);
        }
        return _total;
      };
      this.convertSpanToArray = function(ir, ic, key, _return, colDel) {
        if (this.rcMap[ir] && this.isSpan(ir)) {
          var total = this.generateTotal(ir, ic);
  
          if (_isEnhanced(key)) {
            return new Array(total).concat(_return);
          } else {
            return new Array(total).concat(_return).join(colDel);
          }
        }
        return _return;
      };
      this.handleRowColMapProp = function(type, ir, ic, key, _return, colDel) {
        switch (type) {
          case RowColMap.prototype.TYPE.IGNORE:
            return;
          case RowColMap.prototype.TYPE.EMPTY:
            return " ";
          case RowColMap.prototype.TYPE.DEFAULT:
          default:
            return this.convertSpanToArray(ir, ic, key, _return, colDel);
        }
      };
    }
func_documentation_string: RowColMap main interface constructor
  @memberof TableExport.prototype
  @constructor