line |
true |
false |
branch |
18
|
4 |
0 |
ret.reserve(cap); |
30
|
7 |
0 |
Array (SV* sv, bool policy = INCREMENT) : Sv(sv, policy) { _validate(); } |
35
|
0 |
0 |
Array (const Sv& oth) : Sv(oth) { _validate(); } |
70
|
0 |
18 |
if (!sv) return Scalar(); |
71
|
18 |
0 |
if (key >= _size()) return Scalar(); |
|
2 |
16 |
if (key >= _size()) return Scalar(); |
73
|
16 |
0 |
ret.set(_svlist()[key]); |
116
|
14 |
0 |
size_t size () const { return sv ? _size() : 0; } |
151
|
2 |
0 |
void push (const Sv& v) { push(Scalar(v)); } |
215
|
30 |
0 |
const_iterator cbegin () const { return sv ? const_iterator(_svlist()) : const_iterator(); } |
216
|
30 |
0 |
const_iterator cend () const { return sv ? const_iterator(_svlist()+_size()) : const_iterator(); } |
232
|
0 |
7 |
if (!sv) return; |
233
|
0 |
7 |
if (SvTYPE(sv) == SVt_PVAV) return; |
234
|
7 |
0 |
if (SvROK(sv)) { // reference to array? |
236
|
7 |
0 |
if (SvTYPE(val) == SVt_PVAV) { |
237
|
7 |
0 |
Sv::operator=(val); |
241
|
0 |
0 |
if (is_undef()) return reset(); |
243
|
0 |
0 |
throw std::invalid_argument("SV is not an Array or Array reference"); |