Author: vitek
Date: Fri Aug 1 14:26:37 2008
New Revision: 681836
URL: http://svn.apache.org/viewvc?rev=681836&view=rev
Log:
2008-08-01 Travis Vitek <[EMAIL PROTECTED]>
Merge rev r679133 from branches/4.3.x
2008-07-23 Eric Lemings <[EMAIL PROTECTED]>
STDCXX-978
* include/deque: Remove function declarations that were guarded
by `#ifdef _RWSTD_NO_MEMBER_TEMPLATES' directive.
* include/vector: Same.
* inclue/deque.cc: Replace all `__self' pointers with `this'.
* include/vector.cc: Same.
* tests/localization/22.locale.synopsis.cpp: Remove unused
member functions what were guarded by same directive.
Modified:
stdcxx/trunk/include/deque
stdcxx/trunk/include/deque.cc
stdcxx/trunk/include/vector
stdcxx/trunk/tests/localization/22.locale.synopsis.cpp
Modified: stdcxx/trunk/include/deque
URL:
http://svn.apache.org/viewvc/stdcxx/trunk/include/deque?rev=681836&r1=681835&r2=681836&view=diff
==============================================================================
--- stdcxx/trunk/include/deque (original)
+++ stdcxx/trunk/include/deque Fri Aug 1 14:26:37 2008
@@ -58,29 +58,6 @@
template <class _TypeT, class _Allocator = allocator<_TypeT> >
class deque;
-// declarations of non-member function templates implementing
-// the functionality of deque member function templates
-
-_EXPORT
-template <class _TypeT, class _Allocator, class _InputIter>
-void __rw_assign_range (deque<_TypeT, _Allocator>*,
- _InputIter, _InputIter, input_iterator_tag);
-
-_EXPORT
-template <class _TypeT, class _Allocator, class _FwdIter>
-void __rw_assign_range (deque<_TypeT, _Allocator>*,
- _FwdIter, _FwdIter, forward_iterator_tag);
-
-_EXPORT
-template <class _TypeT, class _Allocator, class _DequeIter, class _InputIter>
-void __rw_insert_range (deque<_TypeT, _Allocator>*, _DequeIter,
- _InputIter, _InputIter, input_iterator_tag);
-
-_EXPORT
-template <class _TypeT, class _Allocator, class _DequeIter, class _BidirIter>
-void __rw_insert_range (deque<_TypeT, _Allocator>*, _DequeIter,
- _BidirIter, _BidirIter, bidirectional_iterator_tag);
-
template <class _TypeT, class _DiffT, class _Pointer,
class _Reference, class _Allocator>
Modified: stdcxx/trunk/include/deque.cc
URL:
http://svn.apache.org/viewvc/stdcxx/trunk/include/deque.cc?rev=681836&r1=681835&r2=681836&view=diff
==============================================================================
--- stdcxx/trunk/include/deque.cc (original)
+++ stdcxx/trunk/include/deque.cc Fri Aug 1 14:26:37 2008
@@ -525,10 +525,8 @@
{
typedef deque _Deque;
- deque* const __self = this;
-
_RWSTD_ASSERT_RANGE (__first, __last);
- _RWSTD_ASSERT (__self->_C_is_valid ());
+ _RWSTD_ASSERT (this->_C_is_valid ());
#ifndef _RWSTD_NO_EXT_DEQUE_ASSIGN_IN_PLACE
@@ -541,21 +539,21 @@
// assignment operator and iterator operations do not throw
// -- basic otherwise
- const iterator __end = __self->end ();
+ const iterator __end = this->end ();
// avoid using the name __i or __it below so as not to trigger
// a (bogus) gcc 2.95.2 -Wshadow warning: declaration of `__i'
// shadows previous local
- for (iterator __ix = __self->begin (); !(__ix == __end);
+ for (iterator __ix = this->begin (); !(__ix == __end);
++__ix, ++__first) {
if (__first == __last) {
- __self->erase (__ix, __end);
+ this->erase (__ix, __end);
return;
}
*__ix = *__first;
}
- __self->insert (__end, __first, __last);
+ this->insert (__end, __first, __last);
#else // if defined (_RWSTD_NO_EXT_DEQUE_ASSIGN_IN_PLACE)
@@ -564,8 +562,8 @@
// complexity: linear in distance(first, last)
// exception safety: basic
- __self->clear ();
- __self->insert (__self->begin (), __first, __last);
+ this->clear ();
+ this->insert (this->begin (), __first, __last);
#endif // _RWSTD_NO_EXT_DEQUE_ASSIGN_IN_PLACE
@@ -581,9 +579,7 @@
{
typedef deque _Deque;
- _Deque* const __self = this;
-
- _RWSTD_ASSERT_RANGE (__it, __self->end ());
+ _RWSTD_ASSERT_RANGE (__it, this->end ());
_RWSTD_ASSERT_RANGE (__first, __last);
#ifndef _RWSTD_NO_EXT_DEQUE_INSERT_IN_PLACE
@@ -592,21 +588,21 @@
// from the input sequence in the case of an exception
for ( ; !(__first == __last); ++__it, ++__first)
- __it = __self->insert (__it, *__first);
+ __it = this->insert (__it, *__first);
#else // if defined (_RWSTD_NO_EXT_DEQUE_INSERT_IN_PLACE)
// 23.2.1.3, p2: if an exception is thrown other than by the copy
// constructor or assignment operator of T there are no effects.
- _Deque __tmp (__self->begin (), __it, __self->get_allocator ());
+ _Deque __tmp (this->begin (), __it, this->get_allocator ());
for (; !(__first == __last); ++__first)
__tmp.push_back (*__first);
- __tmp.insert (__tmp.end (), __it, __self->end ());
+ __tmp.insert (__tmp.end (), __it, this->end ());
- __self->swap (__tmp);
+ this->swap (__tmp);
#endif // _RWSTD_NO_EXT_DEQUE_INSERT_IN_PLACE
@@ -622,8 +618,6 @@
// {
// typedef deque _Deque;
-// _Deque* const __self = this;
-
// // implemented in terms of the Input Iterator overload
// _RWSTD_INSERT_RANGE (__it, __first, __last, input_iterator_tag ());
// }
@@ -638,17 +632,15 @@
{
typedef deque _Deque;
- _Deque* const __self = this;
-
- _RWSTD_ASSERT_RANGE (__self->begin (), __it);
+ _RWSTD_ASSERT_RANGE (this->begin (), __it);
_RWSTD_ASSERT_RANGE (__first, __last);
- _RWSTD_ASSERT (__self->_C_is_valid ());
+ _RWSTD_ASSERT (this->_C_is_valid ());
// compute the distance of `it' from the beginning of the container,
// the distance of `it' to the end of the container, and the number
// of elements to be inserted
- const size_type __sz0 = __self->size ();
- const size_type __inx = _DISTANCE (__self->begin (), __it, size_type);
+ const size_type __sz0 = this->size ();
+ const size_type __inx = _DISTANCE (this->begin (), __it, size_type);
const size_type __rem = __sz0 - __inx;
const size_type __n = _DISTANCE (__first, __last, size_type);
@@ -671,12 +663,12 @@
const _BidirIter __mid (__from);
while (!(__from == __first))
- __self->push_front (*--__from);
+ this->push_front (*--__from);
for (size_type __i = __inx; __i; --__i)
- __self->push_front (*(__self->begin () + (__n - 1)));
+ this->push_front (*(this->begin () + (__n - 1)));
- _STD::copy (__mid, __last, __self->begin () + __n);
+ _STD::copy (__mid, __last, this->begin () + __n);
}
else {
@@ -685,12 +677,12 @@
// of elements in the range [begin, it)
for (size_type __i = __n; __i; --__i)
- __self->push_front (*(__self->begin () + (__n - 1)));
+ this->push_front (*(this->begin () + (__n - 1)));
- const iterator __to = __self->begin () + __n;
+ const iterator __to = this->begin () + __n;
_STD::copy (__to + __n, __to + __inx, __to);
- _STD::copy (__first, __last, __self->begin () + __inx);
+ _STD::copy (__first, __last, this->begin () + __inx);
}
}
else {
@@ -705,20 +697,20 @@
const _BidirIter __to (__from);
for ( ; !(__from == __last); ++__from)
- __self->push_back (*__from);
+ this->push_back (*__from);
for (size_type __i = 0; __i != __rem; ++__i)
- __self->push_back (*(__self->begin () + (__inx + __i)));
+ this->push_back (*(this->begin () + (__inx + __i)));
- _STD::copy (__first, __to, __self->begin () + __inx);
+ _STD::copy (__first, __to, this->begin () + __inx);
}
else {
for (size_type __i = 0; __i != __n; ++__i)
- __self->push_back (*(__self->begin () + (__sz0 - __n + __i)));
+ this->push_back (*(this->begin () + (__sz0 - __n + __i)));
- const iterator __to = __self->begin () + __sz0;
- const iterator __from = __self->begin () + __inx;
- const iterator __from_end = __self->begin () + (__sz0 - __n);
+ const iterator __to = this->begin () + __sz0;
+ const iterator __from = this->begin () + __inx;
+ const iterator __from_end = this->begin () + (__sz0 - __n);
_STD::copy_backward (__from, __from_end, __to);
_STD::copy (__first, __last, __from);
Modified: stdcxx/trunk/include/vector
URL:
http://svn.apache.org/viewvc/stdcxx/trunk/include/vector?rev=681836&r1=681835&r2=681836&view=diff
==============================================================================
--- stdcxx/trunk/include/vector (original)
+++ stdcxx/trunk/include/vector Fri Aug 1 14:26:37 2008
@@ -58,29 +58,6 @@
template <class _TypeT, class _Allocator = allocator<_TypeT> >
class vector;
-// declarations of non-member function templates implementing
-// the functionality of vector member function templates
-
-_EXPORT
-template <class _TypeT, class _Allocator, class _InputIter>
-void __rw_assign_range (vector<_TypeT, _Allocator>*,
- _InputIter, _InputIter, input_iterator_tag);
-
-_EXPORT
-template <class _TypeT, class _Allocator, class _FwdIter>
-void __rw_assign_range (vector<_TypeT, _Allocator>*,
- _FwdIter, _FwdIter, forward_iterator_tag);
-
-_EXPORT
-template <class _TypeT, class _Allocator, class _VectorIter, class _InputIter>
-void __rw_insert_range (vector<_TypeT, _Allocator>*, _VectorIter,
- _InputIter, _InputIter, input_iterator_tag);
-
-_EXPORT
-template <class _TypeT, class _Allocator, class _VectorIter, class _FwdIter>
-void __rw_insert_range (vector<_TypeT, _Allocator>*, _VectorIter,
- _FwdIter, _FwdIter, forward_iterator_tag);
-
_EXPORT
template <class _TypeT, class _Allocator>
Modified: stdcxx/trunk/tests/localization/22.locale.synopsis.cpp
URL:
http://svn.apache.org/viewvc/stdcxx/trunk/tests/localization/22.locale.synopsis.cpp?rev=681836&r1=681835&r2=681836&view=diff
==============================================================================
--- stdcxx/trunk/tests/localization/22.locale.synopsis.cpp (original)
+++ stdcxx/trunk/tests/localization/22.locale.synopsis.cpp Fri Aug 1 14:26:37
2008
@@ -441,10 +441,6 @@
}
static std::locale::id id;
-
- virtual std::locale::id& _C_get_id () const {
- return id;
- }
};
@@ -568,11 +564,6 @@
is_dtor_virtual = true;
}
- virtual std::locale::id& _C_get_id () const {
- static std::locale::id id;
- return id;
- }
-
};
// delete a derived object using a pointer to the base