I have two structs:
// ----- non-const ----- struct arg_adapter { EArgType type; // fmtA, fmtB, ... union { TypeA * valueA;
Maybe I didn't get it, but why can't you use
Convert(**const** arg_adapter from, arg_adapter to)
Declare a typedef to simplify the job