Branch Coverage

/usr/include/c++/5/bits/hashtable.h
Criterion Covered Total %
branch 53 72 73.6


line true false branch
341 0 17 if (__builtin_expect(__n == 1, false))
353 10 17 if (_M_uses_single_bucket(__bkts))
633 416 510 if (__before_n)
745 109 0 { return erase(const_iterator(__it)); }
1308 416 332 return __p ? iterator(__p) : end();
1427 381 545 if (!__prev_p)
1433 416 149 if (this->_M_equals(__k, __code, __p))
1436 23 126 if (!__p->_M_nxt || _M_bucket_index(__p->_M_next()) != __n)
3 20 if (!__p->_M_nxt || _M_bucket_index(__p->_M_next()) != __n)
129 20 if (!__p->_M_nxt || _M_bucket_index(__p->_M_next()) != __n)
1452 7 171 if (_M_buckets[__bkt])
1466 84 87 if (__node->_M_nxt)
1484 69 38 if (!__next || __next_bkt != __bkt)
66 3 if (!__next || __next_bkt != __bkt)
1488 66 38 if (__next)
1492 75 29 if (&_M_before_begin == _M_buckets[__bkt])
1509 3 109 while (__prev_n->_M_nxt != __n)
1531 178 0 __code = this->_M_hash_code(__k);
1534 0 0 {
1540 0 178 if (__node_type* __p = _M_find_node(__bkt, __k, __code))
1548 178 0 return std::make_pair(_M_insert_unique_node(__bkt, __code, __node),
1594 178 0 = _M_rehash_policy._M_need_rehash(_M_bucket_count, _M_element_count, 1);
1598 17 161 if (__do_rehash.first)
1600 17 0 _M_rehash(__do_rehash.second, __saved_state);
1601 17 0 __bkt = _M_bucket_index(this->_M_extract()(__node->_M_v()), __code);
17 0 __bkt = _M_bucket_index(this->_M_extract()(__node->_M_v()), __code);
1612 0 0 {
1760 107 2 if (__prev_n == _M_buckets[__bkt])
1761 69 38 _M_remove_bucket_begin(__bkt, __n->_M_next(),
1763 0 2 else if (__n->_M_nxt)
1766 0 0 if (__next_bkt != __bkt)
1772 109 0 this->_M_deallocate_node(__n);
1953 17 0 _M_rehash_aux(__n, __unique_keys());
1978 13 17 while (__p)
1982 13 0 if (!__new_buckets[__bkt])
1987 6 7 if (__p->_M_nxt)