class_requires_trace_method_tmpl.h revision 116680a4aac90f2aa7413d9095a592090648e557
1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CLASS_REQUIRES_TRACE_METHOD_TMPL_H_
6#define CLASS_REQUIRES_TRACE_METHOD_TMPL_H_
7
8#include "heap/stubs.h"
9
10namespace blink {
11
12class HeapObject : public GarbageCollected<HeapObject> { };
13
14class PartObjectA {
15    DISALLOW_ALLOCATION();
16};
17
18class PartObjectB {
19    DISALLOW_ALLOCATION();
20public:
21    void trace(Visitor* visitor) { visitor->trace(m_obj); }
22private:
23    Member<HeapObject> m_obj;
24};
25
26template<typename T>
27class TemplatedObject {
28private:
29    T m_part;
30};
31
32}
33
34#endif
35