[Boost-bugs] [Boost C++ Libraries] #9954: [ublas] fixed_vector<> broken for msvc-12.0

Subject: [Boost-bugs] [Boost C++ Libraries] #9954: [ublas] fixed_vector<> broken for msvc-12.0
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-04-25 20:35:08


#9954: [ublas] fixed_vector<> broken for msvc-12.0
-------------------------------------+---------------------
 Reporter: awulkiew | Owner: guwi17
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: uBLAS
  Version: Boost Development Trunk | Severity: Problem
 Keywords: |
-------------------------------------+---------------------
 fixed_vector<> is broken on msvc-12.0 due to the use of constexpr. This
 heyword is not suported by this compiler.

 BOOST_UBLAS_CPP_GE_2011 macro is used to enable/disable the whole class
 (wrongly on msvc-12.0) instead of enabling only some parts of the code as
 it's done in other libraries.

 Another thing is that fixed_vector<> is only available on some compilers
 which allows the users to write non-portable code.

 Variadic templates may be emulated with Boost.Preprocessor, e.g. see how
 emplace_back() is implemented in boost::container::vector<> :

 https://github.com/boostorg/container/blob/develop/include/boost/container/vector.hpp
 lines 1309-1380.

 constexpr may be conditionally used e.g. by one of macros defined in
 Boost.Config:

 http://www.boost.org/doc/libs/1_55_0/libs/config/doc/html/boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_allow_use_of_c__11_features_with_c__03_compilers

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/9954>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:16 UTC