forked from boostorg/array
Work around GCC 4.x constexpr failure in operator[]
This commit is contained in:
@ -31,7 +31,8 @@
|
|||||||
#ifndef BOOST_ARRAY_HPP
|
#ifndef BOOST_ARRAY_HPP
|
||||||
#define BOOST_ARRAY_HPP
|
#define BOOST_ARRAY_HPP
|
||||||
|
|
||||||
#include <boost/detail/workaround.hpp>
|
#include <boost/config.hpp>
|
||||||
|
#include <boost/config/workaround.hpp>
|
||||||
|
|
||||||
#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
|
#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
|
||||||
# pragma warning(push)
|
# pragma warning(push)
|
||||||
@ -50,9 +51,6 @@
|
|||||||
#include <boost/throw_exception.hpp>
|
#include <boost/throw_exception.hpp>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
// FIXES for broken compilers
|
|
||||||
#include <boost/config.hpp>
|
|
||||||
|
|
||||||
|
|
||||||
namespace boost {
|
namespace boost {
|
||||||
|
|
||||||
@ -117,7 +115,10 @@ namespace boost {
|
|||||||
return BOOST_ASSERT_MSG( i < N, "out of range" ), elems[i];
|
return BOOST_ASSERT_MSG( i < N, "out of range" ), elems[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONSTEXPR const_reference operator[](size_type i) const
|
#if !BOOST_WORKAROUND(BOOST_GCC, < 50000)
|
||||||
|
BOOST_CONSTEXPR
|
||||||
|
#endif
|
||||||
|
const_reference operator[](size_type i) const
|
||||||
{
|
{
|
||||||
return BOOST_ASSERT_MSG( i < N, "out of range" ), elems[i];
|
return BOOST_ASSERT_MSG( i < N, "out of range" ), elems[i];
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user