Branch Coverage

/usr/local/lib/perl5/site_perl/5.26.1/x86_64-linux/XS/Framework.x/i/xs/Simple.h
Criterion Covered Total %
branch 9 30 30.0


line true false branch
21 5 0 template inline panda::enable_if_signed_integral_t _getnum (SV* sv) { return SvIV_nomg(sv); }
22 11 0 template inline panda::enable_if_unsigned_integral_t _getnum (SV* sv) { return SvUV_nomg(sv); }
23 0 167 template inline panda::enable_if_floatp_t _getnum (SV* sv) { return SvNV_nomg(sv); }
53 0 0 Simple (SV* sv, bool policy = INCREMENT) : Scalar(sv, policy) { _validate(); }
71 2 0 Simple (T val) { sv = detail::_newnum(val); }
2164 0 Simple (T val) { sv = detail::_newnum(val); }
6 0 Simple (T val) { sv = detail::_newnum(val); }
143 167 0 operator T () const { return sv ? detail::_getnum(sv) : T(); }
157 0 1 if (!sv) return T();
159 1 0 const char* buf = SvPV_nomg(sv, len);
0 0 const char* buf = SvPV_nomg(sv, len);
193 0 0 if (!sv) return;
194 0 0 if (SvTYPE(sv) > SVt_PVMG || SvROK(sv)) {
0 0 if (SvTYPE(sv) > SVt_PVMG || SvROK(sv)) {
196 0 0 throw std::invalid_argument("SV is not a number or string");