diff options
author | Paolo Carlini <pcarlini@suse.de> | 2007-11-25 12:07:55 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2007-11-25 12:07:55 +0000 |
commit | 64f6a0efdfa5c03132c45952bd1986a8adc2c19d (patch) | |
tree | b6a98ac0c2f374d16f8be381965ebed1efbf7dfe /libstdc++-v3 | |
parent | ba940b7cb30a2f9671d43572fed6c77fd5125b6b (diff) | |
download | gcc-64f6a0efdfa5c03132c45952bd1986a8adc2c19d.zip gcc-64f6a0efdfa5c03132c45952bd1986a8adc2c19d.tar.gz gcc-64f6a0efdfa5c03132c45952bd1986a8adc2c19d.tar.bz2 |
array (array<>::_M_check): Remove, not necessary anymore.
2007-11-25 Paolo Carlini <pcarlini@suse.de>
* include/tr1_impl/array (array<>::_M_check): Remove, not necessary
anymore.
(array<>::at): Adjust.
* docs/html/17_intro/c++0x_status.html: Fix array::data entry.
From-SVN: r130405
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/ChangeLog | 8 | ||||
-rw-r--r-- | libstdc++-v3/docs/html/17_intro/c++0x_status.html | 2 | ||||
-rw-r--r-- | libstdc++-v3/include/tr1_impl/array | 23 |
3 files changed, 14 insertions, 19 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 91aba14..0688b26 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,13 @@ 2007-11-25 Paolo Carlini <pcarlini@suse.de> + * include/tr1_impl/array (array<>::_M_check): Remove, not necessary + anymore. + (array<>::at): Adjust. + + * docs/html/17_intro/c++0x_status.html: Fix array::data entry. + +2007-11-25 Paolo Carlini <pcarlini@suse.de> + * include/bits/stl_algobase.h (__lexicographical_compare<>::__lc): Move out of line. diff --git a/libstdc++-v3/docs/html/17_intro/c++0x_status.html b/libstdc++-v3/docs/html/17_intro/c++0x_status.html index 5627d6f..e4e07e0 100644 --- a/libstdc++-v3/docs/html/17_intro/c++0x_status.html +++ b/libstdc++-v3/docs/html/17_intro/c++0x_status.html @@ -771,9 +771,9 @@ particular release. <tr> <td>23.2.1.4</td> <td><code>array </code>data</td> + <td>done</td> <td></td> <td></td> - <td>missing</td> <td></td> </tr> <tr> diff --git a/libstdc++-v3/include/tr1_impl/array b/libstdc++-v3/include/tr1_impl/array index 425b87c..7a13ba8 100644 --- a/libstdc++-v3/include/tr1_impl/array +++ b/libstdc++-v3/include/tr1_impl/array @@ -136,15 +136,17 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 reference at(size_type __n) - { - _M_check<_Nm>(__n); + { + if (__builtin_expect(__n >= _Nm, false)) + std::__throw_out_of_range(__N("array::at")); return _M_instance[__n]; } const_reference at(size_type __n) const { - _M_check<_Nm>(__n); + if (__builtin_expect(__n >= _Nm, false)) + std::__throw_out_of_range(__N("array::at")); return _M_instance[__n]; } @@ -171,21 +173,6 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 const _Tp* data() const { return &_M_instance[0]; } - - private: - template<std::size_t _Mm> - typename __gnu_cxx::__enable_if<_Mm, void>::__type - _M_check(size_type __n) const - { - if (__builtin_expect(__n >= _Mm, false)) - std::__throw_out_of_range(__N("array::_M_check")); - } - - // Avoid "unsigned comparison with zero" warnings. - template<std::size_t _Mm> - typename __gnu_cxx::__enable_if<!_Mm, void>::__type - _M_check(size_type) const - { std::__throw_out_of_range(__N("array::_M_check")); } }; // Array comparisons. |