00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef _STLP_INTERNAL_WRAP_LIST_H
00031 #define _STLP_INTERNAL_WRAP_LIST_H
00032
00033 #ifndef _STLP_INTERNAL_LIST_H
00034 # include <stl/_list.h>
00035 #endif
00036
00037 # ifdef _STLP_USE_NAMESPACES
00038 namespace STLPORT {
00039 # endif
00040
00041 # if defined (_STLP_DEBUG)
00042 # define __LIST_SUPER _DBG_list<_Tp, _STLP_DEFAULT_ALLOCATOR(_Tp) >
00043 # else
00044 # define __LIST_SUPER __list__<_Tp, _STLP_DEFAULT_ALLOCATOR(_Tp) >
00045 # endif
00046
00047
00048
00049 template <class _Tp>
00050 class list : public __LIST_SUPER
00051 {
00052 public:
00053 typedef __LIST_SUPER _Super;
00054 __IMPORT_WITH_REVERSE_ITERATORS(_Super)
00055 __IMPORT_SUPER_COPY_ASSIGNMENT(list, list<_Tp>, __LIST_SUPER)
00056 list() { }
00057 explicit list(size_type __n, const _Tp& __value) : __LIST_SUPER(__n, __value) { }
00058 explicit list(size_type __n) : __LIST_SUPER(__n) { }
00059 list(const _Tp* __first, const _Tp* __last) : __LIST_SUPER(__first, __last) { }
00060 list(const_iterator __first, const_iterator __last) : __LIST_SUPER(__first, __last) { }
00061 # undef __LIST_SUPER
00062 };
00063
00064 # if defined (_STLP_BASE_MATCH_BUG)
00065 template <class _Tp>
00066 inline bool operator==(const list<_Tp>& __x, const list<_Tp>& __y) {
00067 typedef typename list<_Tp>::_Super _Super;
00068 return operator == ((const _Super&)__x,(const _Super&)__y);
00069 }
00070
00071 template <class _Tp>
00072 inline bool operator<(const list<_Tp>& __x, const list<_Tp>& __y) {
00073 return lexicographical_compare(__x.begin(), __x.end(),
00074 __y.begin(), __y.end());
00075 }
00076 # endif
00077
00078 # ifdef _STLP_USE_NAMESPACES
00079 }
00080 # endif
00081
00082 #endif
00083
00084
00085
00086