On 25/04/10 20:32, Ellery Newcomer wrote:
Hmm. Either I'm not understanding you or I didn't explain something
clearly.

something like this

struct Rec2{
ushort index;
ushort nparams;
ushort options;
ushort[] params; // this has nparams elements
}

Rec2 rec2 = {index:1, nparams:2, options:~0, params:[4,5]};

would translate to something like

x"01 00 02 00 FF FF 04 00 05 00"

only the elements part of params gets written out, the length part doesn't.

Ah, I didn't know this. In which case you should be able to store nparams for use later when the array is encountered, then parse as appropriate?
----
static nparams = 0;
foreach( m; MyStruct.tupleof )
{
  static if( is( typeof(m) x : x[] ) )
  {
    parseParams(nparams);
  }
  else
  {
    static if( MyStruct.tupleof[i].stringof[$-7 $] == "nparams" )
      nparams = m;
  }
}
----

Reply via email to