| Index: Source/heap/Handle.h
|
| diff --git a/Source/heap/Handle.h b/Source/heap/Handle.h
|
| index 0387ba9eceae8051031d5c773b3071731bc1dfcd..89a15d7743d60add55f5e2c05bb9d0f88a68c635 100644
|
| --- a/Source/heap/Handle.h
|
| +++ b/Source/heap/Handle.h
|
| @@ -314,6 +314,11 @@ class PersistentHeapCollectionBase
|
| // Never allocate these objects with new. Use Persistent<Collection> instead.
|
| DISALLOW_ALLOCATION();
|
| public:
|
| + PersistentHeapCollectionBase() { }
|
| +
|
| + template<typename OtherCollection>
|
| + PersistentHeapCollectionBase(const OtherCollection& other) : Collection(other) { }
|
| +
|
| void trace(Visitor* visitor) { visitor->trace(*static_cast<Collection*>(this)); }
|
| };
|
|
|
| @@ -332,7 +337,16 @@ template<
|
| class PersistentHeapHashSet : public PersistentHeapCollectionBase<HeapHashSet<ValueArg, HashArg, TraitsArg> > { };
|
|
|
| template<typename T, size_t inlineCapacity = 0>
|
| -class PersistentHeapVector : public PersistentHeapCollectionBase<HeapVector<T, inlineCapacity> > { };
|
| +class PersistentHeapVector : public PersistentHeapCollectionBase<HeapVector<T, inlineCapacity> > {
|
| +public:
|
| + PersistentHeapVector() { }
|
| +
|
| + template<size_t otherCapacity>
|
| + PersistentHeapVector(const HeapVector<T, otherCapacity>& other)
|
| + : PersistentHeapCollectionBase<HeapVector<T, inlineCapacity> >(other)
|
| + {
|
| + }
|
| +};
|
|
|
| // Members are used in classes to contain strong pointers to other oilpan heap
|
| // allocated objects.
|
|
|