diff options
| author | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-06 15:50:28 +0000 |
|---|---|---|
| committer | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-06 15:50:28 +0000 |
| commit | 3305f7d0edbbb8ea8f85e325bdb4da47fb0c4108 (patch) | |
| tree | 5e4a19a16ece761c718d5e8ef56f353f2ffd46ac /libstdc++-v3/include/ext/memory | |
| parent | 538165cd2b4b122bc9f00ae06dcc925e6f2c9dec (diff) | |
| download | ppe42-gcc-3305f7d0edbbb8ea8f85e325bdb4da47fb0c4108.tar.gz ppe42-gcc-3305f7d0edbbb8ea8f85e325bdb4da47fb0c4108.zip | |
2003-06-06 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/stl_alloc.h: Cleanups.
* include/ext/functional: Same.
* include/ext/hash_map: Same.
* include/ext/hash_set: Same.
* include/ext/iterator: Same.
* include/ext/memory: Same.
* include/ext/numeric: Same.
* include/ext/rb_tree: Same.
* include/ext/ropeimpl.h: Same.
* include/ext/slist: Same.
* include/ext/stdio_filebuf.h: Same.
* include/ext/stdio_sync_filebuf.h: Same.
* include/ext/stl_rope.h: Move to...
* include/ext/rope: ...here.
* include/ext/stl_hash_fun.h: Move to...
* include/ext/hash_fun.h: ...here.
* include/ext/stl_hashtable.h: Move to...
* include/ext/hashtable.h: ...here.
* include/backward/hashtable.h: Reflect new names.
* include/Makefile.am: Same.
* include/Makefile.in: Regenerated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67551 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/include/ext/memory')
| -rw-r--r-- | libstdc++-v3/include/ext/memory | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/libstdc++-v3/include/ext/memory b/libstdc++-v3/include/ext/memory index 5626b70e6af..8a3a335195f 100644 --- a/libstdc++-v3/include/ext/memory +++ b/libstdc++-v3/include/ext/memory @@ -60,9 +60,10 @@ */ #ifndef _EXT_MEMORY -#define _EXT_MEMORY +#define _EXT_MEMORY 1 #pragma GCC system_header + #include <memory> #include <bits/stl_tempbuf.h> @@ -73,30 +74,29 @@ namespace __gnu_cxx using std::__iterator_category; using std::_Temporary_buffer; - template<typename _InputIter, typename _Size, typename _ForwardIter> pair<_InputIter, _ForwardIter> __uninitialized_copy_n(_InputIter __first, _Size __count, - _ForwardIter __result, - std::input_iterator_tag) + _ForwardIter __result, std::input_iterator_tag) { _ForwardIter __cur = __result; - try { - for ( ; __count > 0 ; --__count, ++__first, ++__cur) - std::_Construct(&*__cur, *__first); - return pair<_InputIter, _ForwardIter>(__first, __cur); - } + try + { + for ( ; __count > 0 ; --__count, ++__first, ++__cur) + std::_Construct(&*__cur, *__first); + return pair<_InputIter, _ForwardIter>(__first, __cur); + } catch(...) { std::_Destroy(__result, __cur); __throw_exception_again; } } - + template<typename _RandomAccessIter, typename _Size, typename _ForwardIter> inline pair<_RandomAccessIter, _ForwardIter> __uninitialized_copy_n(_RandomAccessIter __first, _Size __count, - _ForwardIter __result, + _ForwardIter __result, std::random_access_iterator_tag) { _RandomAccessIter __last = __first + __count; @@ -108,7 +108,8 @@ namespace __gnu_cxx template<typename _InputIter, typename _Size, typename _ForwardIter> inline pair<_InputIter, _ForwardIter> __uninitialized_copy_n(_InputIter __first, _Size __count, - _ForwardIter __result) { + _ForwardIter __result) + { return __uninitialized_copy_n(__first, __count, __result, __iterator_category(__first)); } @@ -126,7 +127,8 @@ namespace __gnu_cxx template<typename _InputIter, typename _Size, typename _ForwardIter> inline pair<_InputIter, _ForwardIter> uninitialized_copy_n(_InputIter __first, _Size __count, - _ForwardIter __result) { + _ForwardIter __result) + { return __uninitialized_copy_n(__first, __count, __result, __iterator_category(__first)); } @@ -152,19 +154,18 @@ namespace __gnu_cxx * * @ingroup SGIextensions */ - template <class _ForwardIterator, - class _Tp + template <class _ForwardIterator, class _Tp = typename std::iterator_traits<_ForwardIterator>::value_type > struct temporary_buffer : public _Temporary_buffer<_ForwardIterator, _Tp> { /// Requests storage large enough to hold a copy of [first,last). temporary_buffer(_ForwardIterator __first, _ForwardIterator __last) - : _Temporary_buffer<_ForwardIterator, _Tp>(__first, __last) {} + : _Temporary_buffer<_ForwardIterator, _Tp>(__first, __last) { } + /// Destroys objects and frees storage. - ~temporary_buffer() {} + ~temporary_buffer() { } }; - } // namespace __gnu_cxx -#endif /* _EXT_MEMORY */ +#endif |

