mirror of
https://github.com/boostorg/utility.git
synced 2025-05-09 15:04:00 +00:00
Fixing visual studio compilation of string_view::at()
VS2013, VS2015 & VS2017RC don't like the ternary throwing an exception : 'return': cannot convert from 'void' to 'const char &' Now using classic if when compiling on a windows platform.
This commit is contained in:
parent
9ae6492af9
commit
38b536ff05
@ -121,10 +121,13 @@ namespace boost {
|
|||||||
BOOST_CONSTEXPR const_reference operator[](size_type pos) const BOOST_NOEXCEPT { return ptr_[pos]; }
|
BOOST_CONSTEXPR const_reference operator[](size_type pos) const BOOST_NOEXCEPT { return ptr_[pos]; }
|
||||||
|
|
||||||
BOOST_CONSTEXPR const_reference at(size_t pos) const {
|
BOOST_CONSTEXPR const_reference at(size_t pos) const {
|
||||||
|
#ifndef _MSC_VER
|
||||||
return pos >= len_ ? BOOST_THROW_EXCEPTION(std::out_of_range("boost::string_view::at")) : ptr_[pos];
|
return pos >= len_ ? BOOST_THROW_EXCEPTION(std::out_of_range("boost::string_view::at")) : ptr_[pos];
|
||||||
// if ( pos >= len_ )
|
#else
|
||||||
// BOOST_THROW_EXCEPTION( std::out_of_range ( "boost::string_view::at" ) );
|
if (pos >= len_)
|
||||||
// return ptr_[pos];
|
BOOST_THROW_EXCEPTION(std::out_of_range("boost::string_view::at"));
|
||||||
|
return ptr_[pos];
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONSTEXPR const_reference front() const { return ptr_[0]; }
|
BOOST_CONSTEXPR const_reference front() const { return ptr_[0]; }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user