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