Branch Coverage

/usr/include/c++/5/bits/stl_tree.h
Criterion Covered Total %
branch 53 190 27.8


line true false branch
107 0 0 while (__x->_M_left != 0) __x = __x->_M_left;
121 0 0 while (__x->_M_right != 0) __x = __x->_M_right;
368 0 0 if (_M_root)
372 0 0 if (_M_nodes->_M_left)
395 0 0 if (__node)
409 0 0 if (!_M_nodes)
414 0 0 if (_M_nodes)
416 0 0 if (_M_nodes->_M_right == __node)
420 0 0 if (_M_nodes->_M_left)
424 0 0 while (_M_nodes->_M_right)
427 0 0 if (_M_nodes->_M_left)
528 0 0 ::new(__node) _Rb_tree_node<_Val>;
14 0 ::new(__node) _Rb_tree_node<_Val>;
3 0 ::new(__node) _Rb_tree_node<_Val>;
1 0 ::new(__node) _Rb_tree_node<_Val>;
117 0 ::new(__node) _Rb_tree_node<_Val>;
529 0 0 _Alloc_traits::construct(_M_get_Node_allocator(),
14 0 _Alloc_traits::construct(_M_get_Node_allocator(),
3 0 _Alloc_traits::construct(_M_get_Node_allocator(),
1 0 _Alloc_traits::construct(_M_get_Node_allocator(),
117 0 _Alloc_traits::construct(_M_get_Node_allocator(),
783 0 0 return _M_copy(__x, __p, __an);
815 0 0 _Alloc_traits::_S_select_on_copy(__x._M_get_Node_allocator()))
817 0 0 if (__x._M_root() != 0)
819 0 0 _M_root() = _M_copy(__x._M_begin(), _M_end());
1454 0 0 if (this != &__x)
1458 0 0 if (_Alloc_traits::_S_propagate_on_copy_assign())
1462 0 0 if (!_Alloc_traits::_S_always_equal()
1468 0 0 std::__alloc_on_copy(__this_alloc, __that_alloc);
1476 0 0 if (__x._M_root() != 0)
1478 0 0 _M_root() = _M_copy(__x._M_begin(), _M_end(), __roan);
1580 0 0 __top->_M_right = _M_copy(_S_right(__x), __top, __node_gen);
0 0 __top->_M_right = _M_copy(_S_right(__x), __top, __node_gen);
1584 0 0 while (__x != 0)
0 0 while (__x != 0)
1586 0 0 _Link_type __y = _M_clone_node(__x, __node_gen);
0 0 _Link_type __y = _M_clone_node(__x, __node_gen);
1589 0 0 if (__x->_M_right)
0 0 if (__x->_M_right)
1590 0 0 __y->_M_right = _M_copy(_S_right(__x), __y, __node_gen);
0 0 __y->_M_right = _M_copy(_S_right(__x), __y, __node_gen);
1596 0 0 {
0 0 {
1610 117 130 while (__x != 0)
0 0 while (__x != 0)
1627 247 117 while (__x != 0)
1628 130 117 if (!_M_impl._M_key_compare(_S_key(__x), __k))
1807 0 13 while (__x != 0)
1810 0 0 __comp = _M_impl._M_key_compare(__k, _S_key(__x));
1811 0 0 __x = __comp ? _S_left(__x) : _S_right(__x);
1814 13 0 if (__comp)
1816 13 0 if (__j == begin())
1821 0 0 if (_M_impl._M_key_compare(_S_key(__j._M_node), __k))
0 0 if (_M_impl._M_key_compare(_S_key(__j._M_node), __k))
1838 36 30 while (__x != 0)
1841 36 0 __x = _M_impl._M_key_compare(__k, _S_key(__x)) ?
36 0 __x = _M_impl._M_key_compare(__k, _S_key(__x)) ?
10 26 __x = _M_impl._M_key_compare(__k, _S_key(__x)) ?
1910 52 65 if (__pos._M_node == _M_end())
1912 39 13 if (size() > 0
1913 39 0 && _M_impl._M_key_compare(_S_key(_M_rightmost()), __k))
1916 13 0 return _M_get_insert_unique_pos(__k);
1918 65 0 else if (_M_impl._M_key_compare(__k, _S_key(__pos._M_node)))
65 0 else if (_M_impl._M_key_compare(__k, _S_key(__pos._M_node)))
1922 26 39 if (__pos._M_node == _M_leftmost()) // begin()
1924 39 0 else if (_M_impl._M_key_compare(_S_key((--__before)._M_node), __k))
39 0 else if (_M_impl._M_key_compare(_S_key((--__before)._M_node), __k))
1926 13 26 if (_S_right(__before._M_node) == 0)
1932 0 0 return _M_get_insert_unique_pos(__k);
1934 0 0 else if (_M_impl._M_key_compare(_S_key(__pos._M_node), __k))
0 0 else if (_M_impl._M_key_compare(_S_key(__pos._M_node), __k))
1938 0 0 if (__pos._M_node == _M_rightmost())
1940 0 0 else if (_M_impl._M_key_compare(__k, _S_key((++__after)._M_node)))
0 0 else if (_M_impl._M_key_compare(__k, _S_key((++__after)._M_node)))
1942 0 0 if (_S_right(__pos._M_node) == 0)
1948 0 0 return _M_get_insert_unique_pos(__k);
2074 4 16 _S_key(__p)));
0 52 _S_key(__p)));
2153 14 0 auto __res = _M_get_insert_equal_pos(_S_key(__z));
14 0 auto __res = _M_get_insert_equal_pos(_S_key(__z));
3 0 auto __res = _M_get_insert_equal_pos(_S_key(__z));
3 0 auto __res = _M_get_insert_equal_pos(_S_key(__z));
1 0 auto __res = _M_get_insert_equal_pos(_S_key(__z));
1 0 auto __res = _M_get_insert_equal_pos(_S_key(__z));
2154 14 0 return _M_insert_node(__res.first, __res.second, __z);
3 0 return _M_insert_node(__res.first, __res.second, __z);
1 0 return _M_insert_node(__res.first, __res.second, __z);
2174 117 0 auto __res = _M_get_insert_hint_unique_pos(__pos, _S_key(__z));
117 0 auto __res = _M_get_insert_hint_unique_pos(__pos, _S_key(__z));
2176 117 0 if (__res.second)
2177 117 0 return _M_insert_node(__res.first, __res.second, __z);
2295 0 0 iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k);
2296 0 0 return (__j == end()
0 0 return (__j == end()
2298 0 0 _S_key(__j._M_node))) ? end() : __j;