Initial import from FreeBSD RELENG_4:
[dragonfly.git] / contrib / libstdc++ / stl / iterator.h
1 /*
2  *
3  * Copyright (c) 1994
4  * Hewlett-Packard Company
5  *
6  * Permission to use, copy, modify, distribute and sell this software
7  * and its documentation for any purpose is hereby granted without fee,
8  * provided that the above copyright notice appear in all copies and
9  * that both that copyright notice and this permission notice appear
10  * in supporting documentation.  Hewlett-Packard Company makes no
11  * representations about the suitability of this software for any
12  * purpose.  It is provided "as is" without express or implied warranty.
13  *
14  *
15  * Copyright (c) 1996
16  * Silicon Graphics Computer Systems, Inc.
17  *
18  * Permission to use, copy, modify, distribute and sell this software
19  * and its documentation for any purpose is hereby granted without fee,
20  * provided that the above copyright notice appear in all copies and
21  * that both that copyright notice and this permission notice appear
22  * in supporting documentation.  Silicon Graphics makes no
23  * representations about the suitability of this software for any
24  * purpose.  It is provided "as is" without express or implied warranty.
25  */
26
27 #ifndef __SGI_STL_ITERATOR_H
28 #define __SGI_STL_ITERATOR_H
29
30 #ifndef __SGI_STL_FUNCTION_H
31 #include <function.h>
32 #endif
33 #include <stddef.h>
34 #include <iostream.h>
35 #ifndef __SGI_STL_INTERNAL_ITERATOR_H
36 #include <stl_iterator.h>
37 #endif
38 #ifndef __TYPE_TRAITS_H
39 #include <type_traits.h>
40 #endif
41 #ifndef __SGI_STL_INTERNAL_CONSTRUCT_H
42 #include <stl_construct.h>
43 #endif
44 #ifndef __SGI_STL_INTERNAL_RAW_STORAGE_ITERATOR_H
45 #include <stl_raw_storage_iter.h>
46 #endif
47
48 #ifdef __STL_USE_NAMESPACES
49
50 // Names from stl_iterator.h
51
52 using __STD::input_iterator_tag;
53 using __STD::output_iterator_tag;
54 using __STD::forward_iterator_tag;
55 using __STD::bidirectional_iterator_tag;
56 using __STD::random_access_iterator_tag;
57
58 #if 0
59 using __STD::iterator;
60 #endif
61 using __STD::input_iterator;
62 using __STD::output_iterator;
63 using __STD::forward_iterator;
64 using __STD::bidirectional_iterator;
65 using __STD::random_access_iterator;
66
67 #ifdef __STL_CLASS_PARTIAL_SPECIALIZATION
68 using __STD::iterator_traits;
69 #endif
70
71 using __STD::iterator_category;
72 using __STD::distance_type;
73 using __STD::value_type;
74
75 using __STD::distance; 
76 using __STD::advance; 
77
78 using __STD::insert_iterator;
79 using __STD::front_insert_iterator;
80 using __STD::back_insert_iterator;
81 using __STD::inserter;
82 using __STD::front_inserter;
83 using __STD::back_inserter;
84
85 using __STD::reverse_iterator;
86 using __STD::reverse_bidirectional_iterator;
87
88 using __STD::istream_iterator;
89 using __STD::ostream_iterator;
90
91 // Names from stl_construct.h
92 using __STD::construct;
93 using __STD::destroy;
94
95 // Names from stl_raw_storage_iter.h
96 using __STD::raw_storage_iterator;
97
98 #endif /* __STL_USE_NAMESPACES */
99
100 #endif /* __SGI_STL_ITERATOR_H */
101
102 // Local Variables:
103 // mode:C++
104 // End: