The remaining question (which seems slight) is how to give the user a connection between a struct containing the functions and the number to plug in as the version to get the appropriate struct.
The current contenders seem to be:
1) struct-with-version-in-name
struct MirExtensionFooV1 (and then "1" is the int to plug in as the version)
2) existing, just have a #define
3) Alan's pseudocode (not quite clear to me how this would look in C code, so can't comment)
I don't mind 1) really, but it seems less advantageous to me because of the mental hop that is needed (mentally parse "V1", and then use it as a version).
Will wait to change the code until consensus, the differences are slight (or a matter of preference, perhaps).
Alright, so there's human-readable strings now.
The remaining question (which seems slight) is how to give the user a connection between a struct containing the functions and the number to plug in as the version to get the appropriate struct.
The current contenders seem to be:
1) struct- with-version- in-name
struct MirExtensionFooV1 (and then "1" is the int to plug in as the version)
2) existing, just have a #define
3) Alan's pseudocode (not quite clear to me how this would look in C code, so can't comment)
I don't mind 1) really, but it seems less advantageous to me because of the mental hop that is needed (mentally parse "V1", and then use it as a version).
Will wait to change the code until consensus, the differences are slight (or a matter of preference, perhaps).