Commit e36da22a360e2dcfc019131f4a84439bec4c59b4
- Diff rendering mode:
- inline
- side by side
stlport/stl/_alloc.h
(6 / 6)
|   | |||
| 639 | 639 | _Base& _M_base() | |
| 640 | 640 | { return *this; } | |
| 641 | 641 | #endif | |
| 642 | void swap( _Self& r ) | ||
| 643 | { | ||
| 644 | _STLP_STD::swap( static_cast<_Base&>(*this), static_cast<_Base&>(r) ); | ||
| 645 | _STLP_STD::swap( _M_data, r._M_data ); | ||
| 646 | } | ||
| 642 | 647 | }; | |
| 643 | 648 | ||
| 644 | 649 | #if defined (_STLP_USE_TEMPLATE_EXPORT) | |
| … | … | ||
| 660 | 660 | ||
| 661 | 661 | template <class _Value, class _Tp, class _MaybeReboundAlloc> | |
| 662 | 662 | inline void swap( _STLP_PRIV _STLP_alloc_proxy<_Value,_Tp,_MaybeReboundAlloc>& __a, _STLP_PRIV _STLP_alloc_proxy<_Value,_Tp,_MaybeReboundAlloc>& __b) | |
| 663 | { | ||
| 664 | // at least gcc has problem with detecting proper (overloaded) swap, | ||
| 665 | // if notation with namespace (_STLP_STD::swap) used | ||
| 666 | /* _STLP_STD:: */ swap( static_cast<_MaybeReboundAlloc&>(__a), static_cast<_MaybeReboundAlloc&>(__b) ); | ||
| 667 | /* _STLP_STD:: */ swap(__a._M_data, __b._M_data); | ||
| 668 | } | ||
| 663 | { __a.swap( __b ); } | ||
| 669 | 664 | ||
| 670 | 665 | _STLP_END_NAMESPACE | |
| 671 | 666 |

