I've been playing a bit with the generate_feature_test_macro_components.py script and replaced some hardcoded values with extra code generation (generate ALL the things).
The output is the same and it makes updating the script less work for the coming 25 C++ standards (until 2 digit number overflow).
Feel free to 'veto' if you think it's overkill.
I assume nr stands for number? I would find it a lot easier to read if you used number instead of trying to save a few characters (here and below).