00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef PDEQUE_H
00016 #define PDEQUE_H
00017
00018 #include "dtoolbase.h"
00019 #include "pallocator.h"
00020 #include "register_type.h"
00021 #include <deque>
00022
00023 #ifndef USE_STL_ALLOCATOR
00024
00025
00026 #define pdeque deque
00027
00028 #else
00029
00030
00031
00032
00033
00034
00035
00036
00037 template<class Type>
00038 class pdeque : public deque<Type, pallocator_array<Type> > {
00039 public:
00040 typedef pallocator_array<Type> allocator;
00041 typedef TYPENAME deque<Type, allocator>::size_type size_type;
00042 pdeque(TypeHandle type_handle = pdeque_type_handle) : deque<Type, pallocator_array<Type> >(allocator(type_handle)) { }
00043 pdeque(const pdeque<Type> ©) : deque<Type, pallocator_array<Type> >(copy) { }
00044 pdeque(size_type n, TypeHandle type_handle = pdeque_type_handle) : deque<Type, pallocator_array<Type> >(n, Type(), allocator(type_handle)) { }
00045 pdeque(size_type n, const Type &value, TypeHandle type_handle = pdeque_type_handle) : deque<Type, pallocator_array<Type> >(n, value, allocator(type_handle)) { }
00046 };
00047
00048 #endif // USE_STL_ALLOCATOR
00049 #endif