// A wrapper subclass for std::vector to make it easy to construct one
// that uses a zone allocator.
template <typename T>
-class ZoneVector : public std::vector<T, zone_allocator<T>> {
+class ZoneVector : public std::vector<T, zone_allocator<T> > {
public:
// Constructs an empty vector.
explicit ZoneVector(Zone* zone)
- : std::vector<T, zone_allocator<T>>(zone_allocator<T>(zone)) {}
+ : std::vector<T, zone_allocator<T> >(zone_allocator<T>(zone)) {}
// Constructs a new vector and fills it with {size} elements, each
// having the value {def}.
ZoneVector(int size, T def, Zone* zone)
- : std::vector<T, zone_allocator<T>>(size, def, zone_allocator<T>(zone)) {}
+ : std::vector<T, zone_allocator<T> >(size, def, zone_allocator<T>(zone)) {
+ }
};
// A wrapper subclass std::deque to make it easy to construct one
// that uses a zone allocator.
template <typename T>
-class ZoneDeque : public std::deque<T, zone_allocator<T>> {
+class ZoneDeque : public std::deque<T, zone_allocator<T> > {
public:
explicit ZoneDeque(Zone* zone)
- : std::deque<T, zone_allocator<T>>(zone_allocator<T>(zone)) {}
+ : std::deque<T, zone_allocator<T> >(zone_allocator<T>(zone)) {}
};
// A wrapper subclass for std::queue to make it easy to construct one
// that uses a zone allocator.
template <typename T>
-class ZoneQueue : public std::queue<T, std::deque<T, zone_allocator<T>>> {
+class ZoneQueue : public std::queue<T, std::deque<T, zone_allocator<T> > > {
public:
// Constructs an empty queue.
explicit ZoneQueue(Zone* zone)
- : std::queue<T, std::deque<T, zone_allocator<T>>>(
- std::deque<T, zone_allocator<T>>(zone_allocator<T>(zone))) {}
+ : std::queue<T, std::deque<T, zone_allocator<T> > >(
+ std::deque<T, zone_allocator<T> >(zone_allocator<T>(zone))) {}
};
// Typedefs to shorten commonly used vectors.