template <typename Visitor> void enumerateFields_gen(InstBasic obj, Visitor & vis) { vis(obj.opcode(),"opcode"); vis(obj.type(),"type"); for (unsigned i=0;i<5;i++) { vis(obj.operand(i),"operands", i); } }