line |
true |
false |
branch |
107
|
1 |
2 |
while (__x->_M_left != 0) __x = __x->_M_left; |
121
|
3 |
2 |
while (__x->_M_right != 0) __x = __x->_M_right; |
368
|
2 |
27 |
if (_M_root) |
372
|
1 |
1 |
if (_M_nodes->_M_left) |
395
|
7 |
1 |
if (__node) |
409
|
1 |
7 |
if (!_M_nodes) |
414
|
6 |
1 |
if (_M_nodes) |
416
|
3 |
3 |
if (_M_nodes->_M_right == __node) |
420
|
2 |
1 |
if (_M_nodes->_M_left) |
424
|
2 |
2 |
while (_M_nodes->_M_right) |
427
|
0 |
2 |
if (_M_nodes->_M_left) |
528
|
8 |
0 |
::new(__node) _Rb_tree_node<_Val>; |
|
16 |
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
|
8 |
0 |
_Alloc_traits::construct(_M_get_Node_allocator(), |
|
16 |
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
|
29 |
0 |
if (this != &__x) |
1458
|
0 |
29 |
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
|
2 |
27 |
if (__x._M_root() != 0) |
1478
|
2 |
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); |
|
3 |
0 |
__top->_M_right = _M_copy(_S_right(__x), __top, __node_gen); |
1584
|
0 |
0 |
while (__x != 0) |
|
2 |
6 |
while (__x != 0) |
1586
|
0 |
0 |
_Link_type __y = _M_clone_node(__x, __node_gen); |
|
2 |
0 |
_Link_type __y = _M_clone_node(__x, __node_gen); |
1589
|
0 |
0 |
if (__x->_M_right) |
|
1 |
1 |
if (__x->_M_right) |
1590
|
0 |
0 |
__y->_M_right = _M_copy(_S_right(__x), __y, __node_gen); |
|
1 |
0 |
__y->_M_right = _M_copy(_S_right(__x), __y, __node_gen); |
1596
|
0 |
0 |
{ |
|
0 |
0 |
{ |
1610
|
117 |
130 |
while (__x != 0) |
|
33 |
249 |
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
|
38 |
32 |
while (__x != 0) |
1841
|
38 |
0 |
__x = _M_impl._M_key_compare(__k, _S_key(__x)) ? |
|
38 |
0 |
__x = _M_impl._M_key_compare(__k, _S_key(__x)) ? |
|
9 |
29 |
__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
|
3 |
18 |
_S_key(__p))); |
|
0 |
52 |
_S_key(__p))); |
2153
|
16 |
0 |
auto __res = _M_get_insert_equal_pos(_S_key(__z)); |
|
16 |
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
|
16 |
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; |