Reputation: 743
I've been learning pretty slowly for the past couple of months and was curious if the C++ standard uses 3rd party libraries. The reason I ask this is because C++20 says possible library changes would include networking which I've been told takes after Boost ASIO. Boost ASIO supports SSL but requires you to have OpenSSL installed.
So that makes me think, if C++20 supports networking (in which if they also support SSL/TLS) would they rely on having OpenSSL for it to work? Was curious on how it all works.
Thanks
Upvotes: 2
Views: 137
Reputation: 179779
The C++ Standard specifies requirements for C++ implementations, and in many places also specifies where implementations have latitude to differ. For instance, the fact that _A
is a reserved identifier means that implementations may use that symbol for any purpose they desire.
The idea here is that such freedom enables many possible implementations. The same applies to parts of the Standard Library that cannot be implemented in portable C++, such as the proposed networking or even just disk I/O. Implementations have the freedom to implement that however they want. If the OS have native support, that's a logical choice, but the Standard does not prescribe that.
Upvotes: 0
Reputation: 36379
Implementers of the standard library are free to implement it however they wish as long as they match the required interface.
For example if libstdc++ decided not to bother creating their own implementation of the networking TS and decided to use a wrapper round ASIO instead that would be fine (assuming they sorted out any licensing issues)
Upvotes: 2