src/mMath/nde.js
/**
   * @summary **The base container for a row of nodes**
   * @description
   * Every expression starts out as an MRow of nodes. MRows have at most
   * one vacant placeholder that can contain any other node. The insertion
   * cursor can be between any two nodes. 
   * @param {object} context the mode context (usually an Expression) 
   * @param {number} parentNid the node id of the parent container
   * @returns {MRow} a mmath MRow MNode.
   
   */
@summary **The base container for a row of nodes
@description
Every expression starts out as an MRow of nodes. MRows have at most
one vacant placeholder that can contain any other node. The insertion
cursor can be between any two nodes.
@param {object} context the mode context (usually an Expression)
@param {number} parentNid the node id of the parent container
@returns {MRow} a mmath MRow MNode.
@summary ** The base container for a row of nodes @description Every expression starts out as an MRow of nodes . MRows have at most one vacant placeholder that can contain any other node . The insertion cursor can be between any two nodes . @param { object } context the mode context ( usually an Expression ) @param { number } parentNid the node id of the parent container @returns { MRow } a mmath MRow MNode .
function MRow(context, parentNid) {
    var self = this;
    MNode.call(this, 'mrow', context, nid);
    self.row = [ new MEmpty(context, self.nid) ];
    self.caret = 1;
  }
function MRow ( context , parentNid ) { var self = this ; MNode . call ( this , 'mrow' , context , nid ) ; self . row = [ new MEmpty ( context , self . nid ) ] ; self . caret = 1 ; }
@summary **The base container for a row of nodes
 @description
 Every expression starts out as an MRow of nodes.
@summary ** The base container for a row of nodes @description Every expression starts out as an MRow of nodes .