template <typename Visitor> void enumerateFields_gen(DirectiveVariable obj, Visitor & vis) { enumerateFields_gen(Directive(obj), vis); vis(obj.name(),"name"); vis(obj.init(),"init"); vis(obj.type(),"type"); vis(obj.segment(),"segment"); vis(obj.align(),"align"); enumerateFields(obj.dim(), vis); enumerateFields(obj.modifier(), vis); vis(obj.linkage(),"linkage"); vis(obj.allocation(),"allocation"); }