On 11/09/2017 16:58, Robert Ramey via Boost wrote:
On 9/10/17 12:07 PM, Glen Fernandes via Boost wrote:
On Sun, Sep 10, 2017 at 1:30 PM, Robert Ramey via Boost wrote:
How do I get ready for C++17?
I have a piece of code which requires C++14. I want to use something from C++17 but I also want my code to work now. So I have
#if C++14 being used namespace std { // implement C++ function }
Don't define those things inside namespace std. Instead:
Hmmmm - I've done this from time to time. Why would this be a bad thing?
Because it can fail. Newer stdlib implementations use inline namespaces so you just can't forward declare things in namespace std. You need more elaborated tricks: http://www.boost.org/doc/libs/1_65_1/boost/move/detail/std_ns_begin.hpp http://www.boost.org/doc/libs/1_65_1/boost/move/detail/std_ns_end.hpp A Boost.Config or similar library that does this would be useful. That way we could forward declare standard classes instead of pulling the whole header. Best, Ion