Is it a good time to remove all nostd library implementations and start to use standard c++ libraries instead? #3064
Replies: 2 comments
-
Ideally when users are using it, no additional -DOPENTELEMETRY_ macros should be needed. Somehow the Otel they use should have some generated "config.h" file, which gets included by all other headers, and set things right. It has to go further and ensure that anything pre-defined before config.h should raise alarms, as it may lead to ODR violations (https://en.wikipedia.org/wiki/One_Definition_Rule) Engineers using it, would not be right away aware of these specifics, so it must be guarded. |
Beta Was this translation helpful? Give feedback.
-
nostd constructs are not just for the features missing in C++11/14, but also to provide ABI compliant interfaces - https://github.com/open-telemetry/opentelemetry-cpp/blob/v1.17.0/docs/abi-policy.md |
Beta Was this translation helpful? Give feedback.
-
It's quite error prone if API users forget to define macros like
OPENTELEMETRY_STL_VERSION=2023
in their client applications, so do we think it's a good time to remove all nostd library implementations and start to use standard c++ libraries instead?Beta Was this translation helpful? Give feedback.
All reactions