Enable some C++14 code in array-view.h

This changes gdbsupport/array-view.h to enable some code that is
C++14-specific.

Approved-By: Pedro Alves <pedro@palves.net>
This commit is contained in:
Tom Tromey 2023-10-15 11:20:57 -06:00
parent d57f38ec74
commit dead89d276

View File

@ -153,18 +153,17 @@ public:
: m_array (c.data ()), m_size (c.size ()) : m_array (c.data ()), m_size (c.size ())
{} {}
/* Observer methods. Some of these can't be constexpr until we /* Observer methods. */
require C++14. */ constexpr T *data () noexcept { return m_array; }
/*constexpr14*/ T *data () noexcept { return m_array; }
constexpr const T *data () const noexcept { return m_array; } constexpr const T *data () const noexcept { return m_array; }
/*constexpr14*/ T *begin () noexcept { return m_array; } constexpr T *begin () noexcept { return m_array; }
constexpr const T *begin () const noexcept { return m_array; } constexpr const T *begin () const noexcept { return m_array; }
/*constexpr14*/ T *end () noexcept { return m_array + m_size; } constexpr T *end () noexcept { return m_array + m_size; }
constexpr const T *end () const noexcept { return m_array + m_size; } constexpr const T *end () const noexcept { return m_array + m_size; }
/*constexpr14*/ reference operator[] (size_t index) noexcept constexpr reference operator[] (size_t index) noexcept
{ {
#if defined(_GLIBCXX_DEBUG) #if defined(_GLIBCXX_DEBUG)
gdb_assert (index < m_size); gdb_assert (index < m_size);
@ -173,7 +172,7 @@ public:
} }
constexpr const_reference operator[] (size_t index) const noexcept constexpr const_reference operator[] (size_t index) const noexcept
{ {
#if defined(_GLIBCXX_DEBUG) && __cplusplus >= 201402L #if defined(_GLIBCXX_DEBUG)
gdb_assert (index < m_size); gdb_assert (index < m_size);
#endif #endif
return m_array[index]; return m_array[index];
@ -188,7 +187,7 @@ public:
[[nodiscard]] [[nodiscard]]
constexpr array_view<T> slice (size_type start, size_type size) const noexcept constexpr array_view<T> slice (size_type start, size_type size) const noexcept
{ {
#if defined(_GLIBCXX_DEBUG) && __cplusplus >= 201402L #if defined(_GLIBCXX_DEBUG)
gdb_assert (start + size <= m_size); gdb_assert (start + size <= m_size);
#endif #endif
return {m_array + start, size}; return {m_array + start, size};
@ -199,7 +198,7 @@ public:
[[nodiscard]] [[nodiscard]]
constexpr array_view<T> slice (size_type start) const noexcept constexpr array_view<T> slice (size_type start) const noexcept
{ {
#if defined(_GLIBCXX_DEBUG) && __cplusplus >= 201402L #if defined(_GLIBCXX_DEBUG)
gdb_assert (start <= m_size); gdb_assert (start <= m_size);
#endif #endif
return {m_array + start, size () - start}; return {m_array + start, size () - start};