line |
true |
false |
branch |
18
|
0 |
0 |
Object (T* sv, bool policy = INCREMENT) : Sv(sv, policy) { _validate(); } |
22
|
0 |
0 |
Object (const Sv& oth) : Sv(oth) { _validate(); } |
89
|
0 |
0 |
if (!sv) return; |
90
|
0 |
0 |
if (SvOBJECT(sv)) return; |
91
|
0 |
0 |
if (SvROK(sv)) { // reference to object? |
93
|
0 |
0 |
if (SvOBJECT(val)) { |
94
|
0 |
0 |
_ref = sv; |
95
|
0 |
0 |
Sv::operator=(val); |
99
|
0 |
0 |
if (is_undef()) return reset(); |
101
|
0 |
0 |
throw std::invalid_argument("SV is not an Object (blessed value or reference to blessed value)"); |
104
|
0 |
0 |
void _check_ref () const { if (!_ref || SvRV(_ref) != sv) _ref = Ref::create(sv); } |
|
0 |
0 |
void _check_ref () const { if (!_ref || SvRV(_ref) != sv) _ref = Ref::create(sv); } |
|
0 |
0 |
void _check_ref () const { if (!_ref || SvRV(_ref) != sv) _ref = Ref::create(sv); } |