| line |
true |
false |
branch |
|
47
|
0 |
0 |
Sv (T* sv, bool policy = INCREMENT) : sv((SV*)sv) { if (policy == INCREMENT) SvREFCNT_inc_simple_void(sv); } |
|
|
0 |
0 |
Sv (T* sv, bool policy = INCREMENT) : sv((SV*)sv) { if (policy == INCREMENT) SvREFCNT_inc_simple_void(sv); } |
|
|
0 |
0 |
Sv (T* sv, bool policy = INCREMENT) : sv((SV*)sv) { if (policy == INCREMENT) SvREFCNT_inc_simple_void(sv); } |
|
|
0 |
0 |
Sv (T* sv, bool policy = INCREMENT) : sv((SV*)sv) { if (policy == INCREMENT) SvREFCNT_inc_simple_void(sv); } |
|
56
|
0 |
0 |
SvREFCNT_inc_simple_void(val); |
|
|
0 |
0 |
SvREFCNT_inc_simple_void(val); |
|
59
|
0 |
0 |
SvREFCNT_dec(old); |
|
|
0 |
0 |
SvREFCNT_dec(old); |
|
93
|
118 |
1 |
bool is_ref () const { return sv && SvROK(sv); } |
|
|
96 |
22 |
bool is_ref () const { return sv && SvROK(sv); } |
|
104
|
35 |
1 |
bool is_object () const { return sv && SvOBJECT(sv); } |
|
|
26 |
9 |
bool is_object () const { return sv && SvOBJECT(sv); } |
|
105
|
85 |
4 |
bool is_object_ref () const { return is_ref() && SvOBJECT(SvRV(sv)); } |
|
|
85 |
0 |
bool is_object_ref () const { return is_ref() && SvOBJECT(SvRV(sv)); } |
|
170
|
0 |
0 |
inline bool is_undef() const { return (SvTYPE(sv) <= SVt_PVMG && !SvOK(sv)); } |
|
|
0 |
0 |
inline bool is_undef() const { return (SvTYPE(sv) <= SVt_PVMG && !SvOK(sv)); } |
|
|
0 |
0 |
inline bool is_undef() const { return (SvTYPE(sv) <= SVt_PVMG && !SvOK(sv)); } |
|
|
0 |
0 |
inline bool is_undef() const { return (SvTYPE(sv) <= SVt_PVMG && !SvOK(sv)); } |
|
171
|
0 |
0 |
inline bool is_scalar_unsafe() const { return (SvTYPE(sv) <= SVt_PVMG || SvTYPE(sv) == SVt_PVGV); } |
|
|
0 |
0 |
inline bool is_scalar_unsafe() const { return (SvTYPE(sv) <= SVt_PVMG || SvTYPE(sv) == SVt_PVGV); } |