00001
00002
00003 #ifndef SLIST_H
00004 #define SLIST_H
00005
00006 #include "osl/stl/pool_allocator.h"
00007 #ifdef __GNUC__
00008 # include <ext/slist>
00009 #else
00010 # include <list>
00011 #endif
00012
00013 namespace osl
00014 {
00015 namespace stl
00016 {
00020 template <class T, class Alloc=pool_allocator<T> >
00021 struct slist :
00022 #ifdef __GNUC__
00023 __gnu_cxx::slist<T,Alloc>
00024 #else
00025 std::list<T,Alloc>
00026 #endif
00027 {
00028 slist() {}
00029 slist(const slist&);
00030 ~slist();
00031
00032 #ifndef __GNUC__
00033 void erase_after(iterator p) { erase(++p); }
00034 #endif
00035 };
00036 template <class T,class Alloc>
00037 slist<T,Alloc>::slist(const slist& src) :
00038 #ifdef __GNUC__
00039 __gnu_cxx::slist<T,Alloc>(src)
00040 #else
00041 std::list<T,Alloc>(src)
00042 #endif
00043 {
00044 }
00045 template <class T,class Alloc>
00046 slist<T,Alloc>::~slist()
00047 {
00048 }
00049 }
00050 using stl::slist;
00051 }
00052
00053
00054 #endif
00055
00056
00057
00058