# 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])]