~abreu-alexandre/v8-cpp/fix-constructor-var-args

« back to all changes in this revision

Viewing changes to tests/objects/test.h

  • Committer: Marcus Tomlinson
  • Date: 2015-09-09 05:06:54 UTC
  • mfrom: (23.1.11 test-gc)
  • Revision ID: marcus.tomlinson@canonical.com-20150909050654-c06enir6h8dm5ukh
Added support for shared_ptr and unique_ptr

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
 
21
21
#include <gtest/gtest.h>
22
22
 
 
23
#include <memory>
 
24
 
23
25
class EmbeddedTestClass
24
26
{
25
27
public:
43
45
{
44
46
public:
45
47
    TestClass(int a, int b)
46
 
        : embedded_class_(a, b)
 
48
        : embedded_class_(std::make_shared<EmbeddedTestClass>(a, b))
47
49
    {
48
50
        EXPECT_EQ(a, 1);
49
51
        EXPECT_EQ(b, 2);
55
57
        return i_;
56
58
    }
57
59
 
 
60
    std::shared_ptr<EmbeddedTestClass> embedded_class_sptr()
 
61
    {
 
62
        return embedded_class_;
 
63
    }
 
64
 
 
65
    std::unique_ptr<EmbeddedTestClass> embedded_class_uptr()
 
66
    {
 
67
        return std::unique_ptr<EmbeddedTestClass>(new EmbeddedTestClass(1, 2));
 
68
    }
 
69
 
58
70
    EmbeddedTestClass* embedded_class_ptr()
59
71
    {
60
 
        return &embedded_class_;
 
72
        return embedded_class_.get();
61
73
    }
62
74
 
63
75
    EmbeddedTestClass& embedded_class_ref()
64
76
    {
65
 
        return embedded_class_;
 
77
        return *embedded_class_;
66
78
    }
67
79
 
68
80
    EmbeddedTestClass embedded_class_copy()
69
81
    {
70
 
        return embedded_class_;
 
82
        return *embedded_class_;
71
83
    }
72
84
 
73
85
    void replace_i(EmbeddedTestClass const& other)
81
93
    }
82
94
 
83
95
private:
84
 
    EmbeddedTestClass embedded_class_;
 
96
    std::shared_ptr<EmbeddedTestClass> embedded_class_;
85
97
    int i_;
86
98
};
87
99