split of the last parenthesis operator==,!=,<,<=(std::vector) tested with ``` operator==,!=,<,<=,>,>=(std::vector) operator==,!=,<,<=,>,>=(std::vector) operator==,!=,<,<=,>,>= operator==,!=,<,<=,>,>=
(self, title)
| 340 | return [prefix, tail] |
| 341 | |
| 342 | def _parse_title(self, title): |
| 343 | """ |
| 344 | split of the last parenthesis operator==,!=,<,<=(std::vector) |
| 345 | tested with |
| 346 | ``` |
| 347 | operator==,!=,<,<=,>,>=(std::vector) |
| 348 | operator==,!=,<,<=,>,>=(std::vector) |
| 349 | operator==,!=,<,<=,>,>= |
| 350 | operator==,!=,<,<=,>,>= |
| 351 | std::rel_ops::operator!=,>,<=,>= |
| 352 | std::atomic::operator= |
| 353 | std::array::operator[] |
| 354 | std::function::operator() |
| 355 | std::vector::at |
| 356 | std::relational operators (vector) |
| 357 | std::vector::begin, std::vector::cbegin |
| 358 | std::abs(float), std::fabs |
| 359 | std::unordered_set::begin(size_type), std::unordered_set::cbegin(size_type) |
| 360 | ``` |
| 361 | """ |
| 362 | """ remove all template stuff """ |
| 363 | title = re.sub(r" ?<[^>]+>", "", title) |
| 364 | |
| 365 | m = re.match( |
| 366 | r'^\s*((?:\(size_type\)|(?:.|\(\))*?)*)((?:\([^)]+\))?)\s*$', title) |
| 367 | |
| 368 | postfix = m.group(2) |
| 369 | |
| 370 | t_names = m.group(1).split(',') |
| 371 | t_names = [n.strip() for n in t_names] |
| 372 | prefix = self._parse_expression(t_names[0])[0] |
| 373 | names = [] |
| 374 | for n in t_names: |
| 375 | r = self._parse_expression(n) |
| 376 | if prefix == r[0]: |
| 377 | names.append(n + postfix) |
| 378 | else: |
| 379 | names.append(prefix + r[1] + postfix) |
| 380 | return names |
| 381 | |
| 382 | def _extract_keywords(self, text): |
| 383 | """ |
no test coverage detected