Revert accidental check-in. These changes are probably good, but premature at this point.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@174625 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Howard Hinnant 2013-02-07 15:31:44 +00:00
parent 46c49d19aa
commit 635bbbb6d1
4 changed files with 8 additions and 35 deletions

View File

@ -290,7 +290,7 @@ void
__split_buffer<_Tp, _Allocator>::__destruct_at_begin(pointer __new_begin, false_type) __split_buffer<_Tp, _Allocator>::__destruct_at_begin(pointer __new_begin, false_type)
{ {
while (__begin_ != __new_begin) while (__begin_ != __new_begin)
__alloc_traits::destroy(__alloc(), _VSTD::__to_raw_pointer(__begin_++)); __alloc_traits::destroy(__alloc(), __begin_++);
} }
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
@ -307,7 +307,7 @@ void
__split_buffer<_Tp, _Allocator>::__destruct_at_end(pointer __new_last, false_type) _NOEXCEPT __split_buffer<_Tp, _Allocator>::__destruct_at_end(pointer __new_last, false_type) _NOEXCEPT
{ {
while (__new_last != __end_) while (__new_last != __end_)
__alloc_traits::destroy(__alloc(), _VSTD::__to_raw_pointer(--__end_)); __alloc_traits::destroy(__alloc(), --__end_);
} }
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>

View File

@ -465,10 +465,6 @@ POLICY: For non-variadic implementations, the number of arguments is limited
#include <memory> #include <memory>
#include <tuple> #include <tuple>
#if __OBJC__
# include <Foundation/NSObject.h>
#endif
#include <__functional_base> #include <__functional_base>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@ -2024,26 +2020,6 @@ struct _LIBCPP_VISIBLE hash<long double>
} }
}; };
#if __OBJC__
template <>
struct _LIBCPP_VISIBLE hash<id>
: public unary_function<id, size_t>
{
_LIBCPP_INLINE_VISIBILITY
size_t operator()(id __v) const _NOEXCEPT {return [__v hash];}
};
template <>
struct _LIBCPP_VISIBLE equal_to<id>
: public binary_function<id, id, bool>
{
_LIBCPP_INLINE_VISIBILITY bool operator()(id __x, id __y) const
{return __x == __y || [__x isEqual: __y];}
};
#endif // __OBJC__
// struct hash<T*> in <memory> // struct hash<T*> in <memory>
_LIBCPP_END_NAMESPACE_STD _LIBCPP_END_NAMESPACE_STD

View File

@ -2067,13 +2067,10 @@ basic_string<_CharT, _Traits, _Allocator>::__grow_by(size_type __old_cap, size_t
pointer __p = __alloc_traits::allocate(__alloc(), __cap+1); pointer __p = __alloc_traits::allocate(__alloc(), __cap+1);
__invalidate_all_iterators(); __invalidate_all_iterators();
if (__n_copy != 0) if (__n_copy != 0)
traits_type::copy(_VSTD::__to_raw_pointer(__p), traits_type::copy(__p, __old_p, __n_copy);
_VSTD::__to_raw_pointer(__old_p), __n_copy);
size_type __sec_cp_sz = __old_sz - __n_del - __n_copy; size_type __sec_cp_sz = __old_sz - __n_del - __n_copy;
if (__sec_cp_sz != 0) if (__sec_cp_sz != 0)
traits_type::copy(_VSTD::__to_raw_pointer(__p + __n_copy + __n_add), traits_type::copy(__p + __n_copy + __n_add, __old_p + __n_copy + __n_del, __sec_cp_sz);
_VSTD::__to_raw_pointer(__old_p + __n_copy + __n_del),
__sec_cp_sz);
if (__old_cap+1 != __min_cap) if (__old_cap+1 != __min_cap)
__alloc_traits::deallocate(__alloc(), __old_p, __old_cap+1); __alloc_traits::deallocate(__alloc(), __old_p, __old_cap+1);
__set_long_pointer(__p); __set_long_pointer(__p);
@ -2306,7 +2303,7 @@ basic_string<_CharT, _Traits, _Allocator>::append(size_type __n, value_type __c)
if (__cap - __sz < __n) if (__cap - __sz < __n)
__grow_by(__cap, __sz + __n - __cap, __sz, __sz, 0); __grow_by(__cap, __sz + __n - __cap, __sz, __sz, 0);
pointer __p = __get_pointer(); pointer __p = __get_pointer();
traits_type::assign(_VSTD::__to_raw_pointer(__p + __sz), __n, __c); traits_type::assign(__p + __sz, __n, __c);
__sz += __n; __sz += __n;
__set_size(__sz); __set_size(__sz);
traits_type::assign(__p[__sz], value_type()); traits_type::assign(__p[__sz], value_type());

View File

@ -440,7 +440,7 @@ void
__vector_base<_Tp, _Allocator>::__destruct_at_end(const_pointer __new_last, false_type) _NOEXCEPT __vector_base<_Tp, _Allocator>::__destruct_at_end(const_pointer __new_last, false_type) _NOEXCEPT
{ {
while (__new_last != __end_) while (__new_last != __end_)
__alloc_traits::destroy(__alloc(), _VSTD::__to_raw_pointer(--__end_)); __alloc_traits::destroy(__alloc(), const_cast<pointer>(--__end_));
} }
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
@ -448,7 +448,7 @@ _LIBCPP_INLINE_VISIBILITY inline
void void
__vector_base<_Tp, _Allocator>::__destruct_at_end(const_pointer __new_last, true_type) _NOEXCEPT __vector_base<_Tp, _Allocator>::__destruct_at_end(const_pointer __new_last, true_type) _NOEXCEPT
{ {
__end_ = static_cast<pointer>(__new_last); __end_ = const_cast<pointer>(__new_last);
} }
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
@ -1550,7 +1550,7 @@ vector<_Tp, _Allocator>::erase(const_iterator __position)
"vector::erase(iterator) called with an iterator not" "vector::erase(iterator) called with an iterator not"
" referring to this vector"); " referring to this vector");
#endif #endif
pointer __p = this->__begin_ + (__position - cbegin()); pointer __p = const_cast<pointer>(&*__position);
iterator __r = __make_iter(__p); iterator __r = __make_iter(__p);
this->__destruct_at_end(_VSTD::move(__p + 1, this->__end_, __p)); this->__destruct_at_end(_VSTD::move(__p + 1, this->__end_, __p));
return __r; return __r;