parsing again

Saaa empty at needmail.com
Tue Jun 30 17:18:22 PDT 2009


Is it possible to do a call like
--
arrayLength!(T[])( temp, index[0..depth] );
//temp is (multi)array being created while parsing an (multi)array in a file
//index[] is an array of the current index
//depth = current depth
--
in stead of
--
switch( depth )
{
  case 0:
    if( temp.length < index[depth] ) temp.length = temp.length * 2;
  break;
  static if( is(T A:A[][]))
  {
    case 1:
      if( temp[ index[0] ].length < index[depth] ) temp[index[0]].length = 
temp[index[0]].length * 2;
    break;
  }
  static if( is(T A:A[][][]))
  {
    case 2:
      if( temp[ index[0] ][ index[1] ].length < index[depth] ) temp[ 
index[0] ][ index[1] ].length = temp[ index[0] ][ index[1] ].length * 2;
    break;
  }
default:
assert(false);
break;
}
--




More information about the Digitalmars-d-learn mailing list