Why are C++ version of fpclassify
and its friends provided by UCRT?
#2773
-
Such situation seemly blocks many changes, e.g. some relatively easy parts of WG21-P0533... |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
I believe this is mostly historical, but that decision is now locked to maintain compatibility. The The Universal C Runtime ships with the Windows OS and Windows SDK instead of the VC++ Redistributable, so there are build and runtime complications involved in updating it consistently to match a C++ standard, let alone 'transfer' the function implementation from the UCRT to the STL. That said, header-only changes in the UCRT should be able to be done and would simply require up-to-date Windows SDKs to access once the changes are shipped. Being the C runtime does not preclude it from taking changes for the purpose of conforming to the C++ standard where possible. |
Beta Was this translation helpful? Give feedback.
I believe this is mostly historical, but that decision is now locked to maintain compatibility. The
fpclassify
function is a C function, so when the C Runtime was split from the VC++ Redistributable and added to the Windows OS as the Universal C Runtime (for VS 2015),fpclassify
went with it as a member ofmath.h
. The STL headercmath
has historically simply imported it into the std namespace, like many other C math.h functions.The Universal C Runtime ships with the Windows OS and Windows SDK instead of the VC++ Redistributable, so there are build and runtime complications involved in updating it consistently to match a C++ standard, let alone 'transfer' the function implementation from …