https://github.com/real-logic/simple-binary-encoding/blob/master/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/CppGenerator.java#L1055 says that "cmath needed for quiet_NaN". This is incorrect. std::numeric_limits is defined in <limits>, not <cmath>. This happens to work as long as cmath happens to include limits, but will break if Standard C+ Library headers are reorganized.