# pygccxml.declarations.templates module

template instantiation parser

This module provides functionality necessary to

- `parse`
- `split`
- `join`
- `normalize`

C++ template instantiations

`args`(decl_string)

  returns list of template arguments

  Return type: | [str]

`is_instantiation`(decl_string)

  returns True if decl_string is template instantiation and False otherwise

  Parameters: | decl_string (str) – string that should be checked for pattern presence
  Return type: | bool

`join`(name_, args_)

  returns name< argument_1, argument_2, …, argument_n >

`name`(decl_string)

  returns name of instantiated template

  Return type: | str

`normalize`(decl_string)

  returns decl_string, which contains “normalized” spaces

  this functionality allows to implement comparison of 2 different string which are actually same: x::y< z > and x::y<z>

`normalize_full_name_false`(decl)

  Cached variant of normalize

  Parameters: | decl (declaration.declaration_t) – the declaration
  Returns: | normalized name
  Return type: | str

`normalize_full_name_true`(decl)

  Cached variant of normalize

  Parameters: | decl (declaration.declaration_t) – the declaration
  Returns: | normalized name
  Return type: | str

`normalize_name`(decl)

  Cached variant of normalize

  Parameters: | decl (declaration.declaration_t) – the declaration
  Returns: | normalized name
  Return type: | str

`normalize_partial_name`(decl)

  Cached variant of normalize

  Parameters: | decl (declaration.declaration_t) – the declaration
  Returns: | normalized name
  Return type: | str

`split`(decl_string)

  returns (name, [arguments] )

`split_recursive`(decl_string)

  returns [(name, [arguments])]