Branch Coverage

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


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 380 546 if (!__prev_p)
1433 416 140 if (this->_M_equals(__k, __code, __p))
1436 19 121 if (!__p->_M_nxt || _M_bucket_index(__p->_M_next()) != __n)
9 10 if (!__p->_M_nxt || _M_bucket_index(__p->_M_next()) != __n)
130 10 if (!__p->_M_nxt || _M_bucket_index(__p->_M_next()) != __n)
1452 5 173 if (_M_buckets[__bkt])
1466 86 87 if (__node->_M_nxt)
1484 68 40 if (!__next || __next_bkt != __bkt)
66 2 if (!__next || __next_bkt != __bkt)
1488 66 40 if (__next)
1492 76 30 if (&_M_before_begin == _M_buckets[__bkt])
1509 1 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 108 1 if (__prev_n == _M_buckets[__bkt])
1761 68 40 _M_remove_bucket_begin(__bkt, __n->_M_next(),
1763 0 1 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 12 1 if (!__new_buckets[__bkt])
1987 5 7 if (__p->_M_nxt)