diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 5197f12c3ef..92540fba329 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2005-12-15 Paolo Carlini + + * include/bits/stl_vector.h (vector<>::_M_get_Tp_allocator): Change + to return by ref and add non const version. + * include/bits/stl_deque.h (deque<>::_M_get_Tp_allocator): Likewise. + 2005-12-15 Paolo Carlini PR libstdc++/25421 diff --git a/libstdc++-v3/include/bits/stl_deque.h b/libstdc++-v3/include/bits/stl_deque.h index e5f5beb43f9..eb534ca8c94 100644 --- a/libstdc++-v3/include/bits/stl_deque.h +++ b/libstdc++-v3/include/bits/stl_deque.h @@ -395,7 +395,11 @@ namespace _GLIBCXX_STD { } }; - _Tp_alloc_type + _Tp_alloc_type& + _M_get_Tp_allocator() + { return *static_cast<_Tp_alloc_type*>(&this->_M_impl); } + + const _Tp_alloc_type& _M_get_Tp_allocator() const { return *static_cast(&this->_M_impl); } diff --git a/libstdc++-v3/include/bits/stl_vector.h b/libstdc++-v3/include/bits/stl_vector.h index 7d8519cdfdd..d8ea4b37047 100644 --- a/libstdc++-v3/include/bits/stl_vector.h +++ b/libstdc++-v3/include/bits/stl_vector.h @@ -91,7 +91,11 @@ namespace _GLIBCXX_STD public: typedef _Alloc allocator_type; - _Tp_alloc_type + _Tp_alloc_type& + _M_get_Tp_allocator() + { return *static_cast<_Tp_alloc_type*>(&this->_M_impl); } + + const _Tp_alloc_type& _M_get_Tp_allocator() const { return *static_cast(&this->_M_impl); }