MCPcopy Create free account
hub / github.com/aitjcize/cppman / _parse_title

Method _parse_title

cppman/main.py:342–380  ·  view source on GitHub ↗

split of the last parenthesis operator==,!=,<,<=(std::vector) tested with ``` operator==,!=,<,<=,>,>=(std::vector) operator==,!=,<,<=,>,>=(std::vector) operator==,!=,<,<=,>,>= operator==,!=,<,<=,>,>=

(self, title)

Source from the content-addressed store, hash-verified

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 """

Callers 1

process_documentMethod · 0.95

Calls 1

_parse_expressionMethod · 0.95

Tested by

no test coverage detected