| Index: src/zone/zone-containers.h
|
| diff --git a/src/zone/zone-containers.h b/src/zone/zone-containers.h
|
| index 0aecd98e5043909f7a306c384b3b3aee34fe037d..e1f189c802a8546a55b308ef79e2e08ab0fda863 100644
|
| --- a/src/zone/zone-containers.h
|
| +++ b/src/zone/zone-containers.h
|
| @@ -21,7 +21,7 @@ namespace internal {
|
| // 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 ZoneObject {
|
| public:
|
| // Constructs an empty vector.
|
| explicit ZoneVector(Zone* zone)
|
| @@ -41,7 +41,7 @@ class ZoneVector : public std::vector<T, zone_allocator<T>> {
|
| // 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 ZoneObject {
|
| public:
|
| // Constructs an empty deque.
|
| explicit ZoneDeque(Zone* zone)
|
| @@ -53,7 +53,8 @@ class ZoneDeque : public std::deque<T, zone_allocator<T>> {
|
| // TODO(mstarzinger): This should be renamed to ZoneList once we got rid of our
|
| // own home-grown ZoneList that actually is a ZoneVector.
|
| template <typename T>
|
| -class ZoneLinkedList : public std::list<T, zone_allocator<T>> {
|
| +class ZoneLinkedList : public std::list<T, zone_allocator<T>>,
|
| + public ZoneObject {
|
| public:
|
| // Constructs an empty list.
|
| explicit ZoneLinkedList(Zone* zone)
|
| @@ -63,8 +64,8 @@ class ZoneLinkedList : public std::list<T, zone_allocator<T>> {
|
| // A wrapper subclass std::priority_queue to make it easy to construct one
|
| // that uses a zone allocator.
|
| template <typename T, typename Compare = std::less<T>>
|
| -class ZonePriorityQueue
|
| - : public std::priority_queue<T, ZoneVector<T>, Compare> {
|
| +class ZonePriorityQueue : public std::priority_queue<T, ZoneVector<T>, Compare>,
|
| + public ZoneObject {
|
| public:
|
| // Constructs an empty list.
|
| explicit ZonePriorityQueue(Zone* zone)
|
| @@ -75,7 +76,7 @@ class ZonePriorityQueue
|
| // 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, ZoneDeque<T>> {
|
| +class ZoneQueue : public std::queue<T, ZoneDeque<T>>, public ZoneObject {
|
| public:
|
| // Constructs an empty queue.
|
| explicit ZoneQueue(Zone* zone)
|
| @@ -85,7 +86,7 @@ class ZoneQueue : public std::queue<T, ZoneDeque<T>> {
|
| // A wrapper subclass for std::stack to make it easy to construct one that uses
|
| // a zone allocator.
|
| template <typename T>
|
| -class ZoneStack : public std::stack<T, ZoneDeque<T>> {
|
| +class ZoneStack : public std::stack<T, ZoneDeque<T>>, public ZoneObject {
|
| public:
|
| // Constructs an empty stack.
|
| explicit ZoneStack(Zone* zone)
|
| @@ -95,7 +96,8 @@ class ZoneStack : public std::stack<T, ZoneDeque<T>> {
|
| // A wrapper subclass for std::set to make it easy to construct one that uses
|
| // a zone allocator.
|
| template <typename K, typename Compare = std::less<K>>
|
| -class ZoneSet : public std::set<K, Compare, zone_allocator<K>> {
|
| +class ZoneSet : public std::set<K, Compare, zone_allocator<K>>,
|
| + public ZoneObject {
|
| public:
|
| // Constructs an empty set.
|
| explicit ZoneSet(Zone* zone)
|
| @@ -107,7 +109,8 @@ class ZoneSet : public std::set<K, Compare, zone_allocator<K>> {
|
| // a zone allocator.
|
| template <typename K, typename V, typename Compare = std::less<K>>
|
| class ZoneMap
|
| - : public std::map<K, V, Compare, zone_allocator<std::pair<const K, V>>> {
|
| + : public std::map<K, V, Compare, zone_allocator<std::pair<const K, V>>>,
|
| + public ZoneObject {
|
| public:
|
| // Constructs an empty map.
|
| explicit ZoneMap(Zone* zone)
|
| @@ -120,7 +123,8 @@ class ZoneMap
|
| template <typename K, typename V, typename Compare = std::less<K>>
|
| class ZoneMultimap
|
| : public std::multimap<K, V, Compare,
|
| - zone_allocator<std::pair<const K, V>>> {
|
| + zone_allocator<std::pair<const K, V>>>,
|
| + public ZoneObject {
|
| public:
|
| // Constructs an empty multimap.
|
| explicit ZoneMultimap(Zone* zone)
|
|
|