Branch Coverage

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


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 308 618 if (!__prev_p)
1433 416 254 if (this->_M_equals(__k, __code, __p))
1436 112 142 if (!__p->_M_nxt || _M_bucket_index(__p->_M_next()) != __n)
60 52 if (!__p->_M_nxt || _M_bucket_index(__p->_M_next()) != __n)
202 52 if (!__p->_M_nxt || _M_bucket_index(__p->_M_next()) != __n)
1452 30 148 if (_M_buckets[__bkt])
1466 61 87 if (__node->_M_nxt)
1484 68 37 if (!__next || __next_bkt != __bkt)
41 27 if (!__next || __next_bkt != __bkt)
1488 41 37 if (__next)
1492 54 24 if (&_M_before_begin == _M_buckets[__bkt])
1509 4 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 105 4 if (__prev_n == _M_buckets[__bkt])
1761 68 37 _M_remove_bucket_begin(__bkt, __n->_M_next(),
1763 1 3 else if (__n->_M_nxt)
1766 0 1 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 10 3 if (!__new_buckets[__bkt])
1987 3 7 if (__p->_M_nxt)