Branch Coverage

/usr/include/c++/5/bits/basic_string.tcc
Criterion Covered Total %
branch 55 120 45.8


line true false branch
61 0 12 if (this == &__s)
70 4 8 if (_M_is_local())
71 0 4 if (__s._M_is_local())
73 0 0 if (length() && __s.length())
0 0 if (length() && __s.length())
0 0 if (length() && __s.length())
83 0 0 else if (__s.length())
91 0 0 else if (length())
112 4 4 if (__s._M_is_local())
141 0 4503 if (__capacity > max_size())
147 4503 0 if (__capacity > __old_capacity && __capacity < 2 * __old_capacity)
2695 1808 if (__capacity > __old_capacity && __capacity < 2 * __old_capacity)
151 0 2695 if (__capacity > max_size())
215 0 1009 if (__gnu_cxx::__is_null_pointer(__beg) && __beg != __end)
0 0 if (__gnu_cxx::__is_null_pointer(__beg) && __beg != __end)
0 1009 if (__gnu_cxx::__is_null_pointer(__beg) && __beg != __end)
0 1125 if (__gnu_cxx::__is_null_pointer(__beg) && __beg != __end)
0 0 if (__gnu_cxx::__is_null_pointer(__beg) && __beg != __end)
0 1125 if (__gnu_cxx::__is_null_pointer(__beg) && __beg != __end)
219 1009 0 size_type __dnew = static_cast(std::distance(__beg, __end));
1125 0 size_type __dnew = static_cast(std::distance(__beg, __end));
221 890 119 if (__dnew > size_type(_S_local_capacity))
878 247 if (__dnew > size_type(_S_local_capacity))
223 890 0 _M_data(_M_create(__dnew, size_type(0)));
878 0 _M_data(_M_create(__dnew, size_type(0)));
244 1 0 if (__n > size_type(_S_local_capacity))
250 1 0 if (__n)
288 0 4 if (__res < length())
292 4 0 if (__res != __capacity)
294 0 4 if (__res > __capacity
0 0 if (__res > __capacity
303 0 0 else if (!_M_is_local())
321 2730 0 pointer __r = _M_create(__new_capacity, capacity());
323 2728 2 if (__pos)
325 50 2680 if (__s && __len2)
50 0 if (__s && __len2)
327 3 2727 if (__how_much)
331 2730 0 _M_dispose();
368 12 47 if (__len <= this->capacity())
370 12 0 if (__n)
405 4 4 if (__new_size <= this->capacity())
410 0 4 if (__how_much && __n1 != __n2)
0 0 if (__how_much && __n1 != __n2)
416 8 0 if (__n2)
434 19 3 if (__new_size <= this->capacity())
439 19 0 if (_M_disjunct(__s))
441 19 0 if (__how_much && __len1 != __len2)
19 0 if (__how_much && __len1 != __len2)
443 19 0 if (__len2)
449 0 0 if (__len2 && __len2 <= __len1)
0 0 if (__len2 && __len2 <= __len1)
451 0 0 if (__how_much && __len1 != __len2)
0 0 if (__how_much && __len1 != __len2)
453 0 0 if (__len2 > __len1)
455 0 0 if (__s + __len2 <= __p + __len1)
457 0 0 else if (__s >= __p + __len1)
484 561 4 if (__n)
1173 4 0 __str.reserve(__len + 1);
1174 4 0 __str.append(__size_type(1), __lhs);
1175 4 0 __str.append(__rhs);