diff options
author | Phil Edwards <pme@gcc.gnu.org> | 2001-12-19 21:57:43 +0000 |
---|---|---|
committer | Phil Edwards <pme@gcc.gnu.org> | 2001-12-19 21:57:43 +0000 |
commit | 82b61df521d17a96f60e56ede06a55a8894b1c2e (patch) | |
tree | 20530f0219543c3a5e48fc1f7fe35dca73c78c9b /libstdc++-v3/include/backward | |
parent | 572cd73ac976578951d38adf15c43d4dc9abb299 (diff) | |
download | gcc-82b61df521d17a96f60e56ede06a55a8894b1c2e.tar.gz |
Intro.3: New 'Allocators' module.
2001-12-19 Phil Edwards <pme@gcc.gnu.org>
* docs/doxygen/Intro.3: New 'Allocators' module.
* docs/doxygen/TODO: Update.
* docs/doxygen/doxygroups.cc: Update.
* docs/doxygen/run_doxygen: Update.
* include/bits/stl_alloc.h: Tweak doxygen hooks in comments.
* include/bits/std_memory.h: Doxygenate.
* include/bits/stl_iterator_base_types.h: Likewise.
* include/bits/stl_raw_storage_iter.h: Likewise.
* include/bits/stl_tempbuf.h: Likewise.
(get_temporary_buffer): Remove unused nonstandard overload.
* include/bits/stl_uninitialized.h: Likewise.
* include/bits/stl_iterator_base_types.h (input_iterator,
output_iterator, forward_iterator, bidirectional_iterator,
random_access_iterator): Move old names...
* include/backward/iterator.h: ...to here.
* include/bits/stl_bvector.h: Update.
* include/ext/stl_rope.h: Update.
From-SVN: r48185
Diffstat (limited to 'libstdc++-v3/include/backward')
-rw-r--r-- | libstdc++-v3/include/backward/iterator.h | 53 |
1 files changed, 48 insertions, 5 deletions
diff --git a/libstdc++-v3/include/backward/iterator.h b/libstdc++-v3/include/backward/iterator.h index 391ee2566c0..d35b9420a86 100644 --- a/libstdc++-v3/include/backward/iterator.h +++ b/libstdc++-v3/include/backward/iterator.h @@ -46,11 +46,54 @@ using std::random_access_iterator_tag; #if 0 using std::iterator; #endif -using std::input_iterator; -using std::output_iterator; -using std::forward_iterator; -using std::bidirectional_iterator; -using std::random_access_iterator; + +// The base classes input_iterator, output_iterator, forward_iterator, +// bidirectional_iterator, and random_access_iterator are not part of +// the C++ standard. (They have been replaced by struct iterator.) +// They are included for backward compatibility with the HP STL. +template<typename _Tp, typename _Distance> + struct input_iterator { + typedef input_iterator_tag iterator_category; + typedef _Tp value_type; + typedef _Distance difference_type; + typedef _Tp* pointer; + typedef _Tp& reference; + }; + +struct output_iterator { + typedef output_iterator_tag iterator_category; + typedef void value_type; + typedef void difference_type; + typedef void pointer; + typedef void reference; +}; + +template<typename _Tp, typename _Distance> + struct forward_iterator { + typedef forward_iterator_tag iterator_category; + typedef _Tp value_type; + typedef _Distance difference_type; + typedef _Tp* pointer; + typedef _Tp& reference; + }; + +template<typename _Tp, typename _Distance> + struct bidirectional_iterator { + typedef bidirectional_iterator_tag iterator_category; + typedef _Tp value_type; + typedef _Distance difference_type; + typedef _Tp* pointer; + typedef _Tp& reference; + }; + +template<typename _Tp, typename _Distance> + struct random_access_iterator { + typedef random_access_iterator_tag iterator_category; + typedef _Tp value_type; + typedef _Distance difference_type; + typedef _Tp* pointer; + typedef _Tp& reference; + }; using std::iterator_traits; |