This is the mail archive of the
libstdc++@sourceware.cygnus.com
mailing list for the libstdc++ project.
Re: Why does vector<>::at() throw range_error?
- To: llewelly at 198 dot dsl dot xmission dot com
- Subject: Re: Why does vector<>::at() throw range_error?
- From: Benjamin Kosnik <bkoz at cygnus dot com>
- Date: Mon, 24 Jan 2000 17:40:17 -0800 (PST)
- cc: libstdc++ at sourceware dot cygnus dot com
Looks like a bug. Try this.
2000-01-24 Benjamin Kosnik <bkoz@gnu.org>
via <llewelly@198.dsl.xmission.com>
* stl/bits/stl_vector.h (vector::_M_range_check): Throw
out_of_range instead of range_error.
Index: stl_vector.h
===================================================================
RCS file: /cvs/libstdc++/libstdc++/stl/bits/stl_vector.h,v
retrieving revision 1.14
diff -u -p -c -p -r1.14 stl_vector.h
cvs server: conflicting specifications of output style
*** stl_vector.h 1999/11/10 00:47:51 1.14
--- stl_vector.h 2000/01/25 01:38:41
*************** public:
*** 223,229 ****
#ifdef __STL_THROW_RANGE_ERRORS
void _M_range_check(size_type __n) const {
if (__n >= this->size())
! __stl_throw_range_error("vector");
}
reference at(size_type __n)
--- 223,229 ----
#ifdef __STL_THROW_RANGE_ERRORS
void _M_range_check(size_type __n) const {
if (__n >= this->size())
! __out_of_range("vector");
}
reference at(size_type __n)