On 14/08/2015 9:47 p.m., Soul Studios wrote:
On 14/08/2015 1:15 p.m., Glen Fernandes wrote:
Right now boost/config/stdlib/dinkumware.hpp has BOOST_NO_CXX11_HDR_TYPE_TRAITS defined for Dinkumware versions 520 and lower - i.e. that macro is would not be defined for VC11 and higher.
Okay, I'm no good at understanding the sprawl of dependencies which constitute boost's macro defines, but I'll take your word for it. Why that particular C++11 macro define is in another file, while almost all the others are defined in the compiler-specific hpp, is beyond comprehension.
Standard library related macros are defined in the standard library
configuration header (i.e. config/stdlib not config/compiler). For VC,
this is dinkumware.h. That particular macro is not special; many
library-specific macros are defined in that header:
- BOOST_NO_CXX11_HDR_INITIALIZER_LIST
- BOOST_NO_CXX11_HDR_ATOMIC
- BOOST_NO_CXX11_STD_ALIGN
etc.
Language-specific macros are defined in the config/compiler headers - such as:
- BOOST_NO_CXX11_DELETED_FUNCTIONS
- BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
- BOOST_NO_CXX11_TEMPLATE_ALIASES
etc.
You should only ever include