Commit 64f6a0ef by Paolo Carlini Committed by Paolo Carlini

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
parent ba940b7c
2007-11-25 Paolo Carlini <pcarlini@suse.de> 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): * include/bits/stl_algobase.h (__lexicographical_compare<>::__lc):
Move out of line. Move out of line.
......
...@@ -771,9 +771,9 @@ particular release. ...@@ -771,9 +771,9 @@ particular release.
<tr> <tr>
<td>23.2.1.4</td> <td>23.2.1.4</td>
<td><code>array </code>data</td> <td><code>array </code>data</td>
<td>done</td>
<td></td> <td></td>
<td></td> <td></td>
<td>missing</td>
<td></td> <td></td>
</tr> </tr>
<tr> <tr>
......
...@@ -136,15 +136,17 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 ...@@ -136,15 +136,17 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
reference reference
at(size_type __n) 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]; return _M_instance[__n];
} }
const_reference const_reference
at(size_type __n) const 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]; return _M_instance[__n];
} }
...@@ -171,21 +173,6 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 ...@@ -171,21 +173,6 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
const _Tp* const _Tp*
data() const data() const
{ return &_M_instance[0]; } { 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. // Array comparisons.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment