Subject: Re: [boost] [ublas] FYI: msvc12 compilation errors and some questions
From: Beman Dawes (bdawes_at_[hidden])
Date: 2014-04-20 12:39:36
On Thu, Apr 17, 2014 at 4:17 PM, Adam Wulkiewicz
> FYI, ublas is broken for MSVC 12 due to the use of constexpr which is not
> suported by this compiler.
> I might fix it however I assume there are people who would like to do it.
> Btw, would you be so kind and answer for some questions? I'm curious about
> the design.
> Why BOOST_UBLAS_CPP_GE_2011 library-wide #define is usedto enable
> This makes it available only on some compilers which allows the users to
> write non-portable code.
> Shouldn't Boost libraries use language featureswhen they're available or
> emulate them rather than enable/disable some functionalities?
> Especially when it could be easily done, like in this case.
> Variadic templates may be emulated with Boost.Preprocessor, e.g. see how
> emplace_back() is implemented in boost::container::vector<> :
> include/boost/container/vector.hpp lines 1309-1380.
> constexpr may be conditionally used e.g. like this:
> #define CONSTEXPR_OR_STATIC constexpr
> #define CONSTEXPR_OR_STATIC static