|
def | instantiate_args_list (Sequence[parser.Argument] args_list, Sequence[parser.template.Typename] template_typenames, Sequence instantiations, parser.Typename cpp_typename) |
|
def | instantiate_name (str original_name, Sequence[parser.Typename] instantiations) |
|
def | instantiate_return_type (parser.ReturnType return_type, Sequence[parser.template.Typename] template_typenames, Sequence[parser.Typename] instantiations, parser.Typename cpp_typename, 'InstantiatedClass' instantiated_class=None) |
|
parser.Type | instantiate_type (parser.Type ctype, Sequence[str] template_typenames, Sequence[parser.Typename] instantiations, parser.Typename cpp_typename, 'InstantiatedClass' instantiated_class=None) |
|
def | is_scoped_template (Sequence[str] template_typenames, str str_arg_typename) |
|
Various helpers for instantiation.
def gtwrap.template_instantiator.helpers.instantiate_args_list |
( |
Sequence[parser.Argument] |
args_list, |
|
|
Sequence[parser.template.Typename] |
template_typenames, |
|
|
Sequence |
instantiations, |
|
|
parser.Typename |
cpp_typename |
|
) |
| |
Instantiate template typenames in an argument list.
Type with name `This` will be replaced by @p `cpp_typename`.
@param[in] args_list A list of `parser.Argument` to instantiate.
@param[in] template_typenames List of template typenames to instantiate,
e.g. ['T', 'U', 'V'].
@param[in] instantiations List of specific types to instantiate, each
associated with each template typename. Each type is a parser.Typename,
including its name and full namespaces.
@param[in] cpp_typename Full-namespace cpp class name of this instantiation
to replace for arguments of type named `This`.
@return A new list of parser.Argument which types are replaced with their
instantiations.
Definition at line 144 of file helpers.py.
parser.Type gtwrap.template_instantiator.helpers.instantiate_type |
( |
parser.Type |
ctype, |
|
|
Sequence[str] |
template_typenames, |
|
|
Sequence[parser.Typename] |
instantiations, |
|
|
parser.Typename |
cpp_typename, |
|
|
'InstantiatedClass' |
instantiated_class = None |
|
) |
| |
Instantiate template typename for `ctype`.
Args:
ctype: The original argument type.
template_typenames: List of strings representing the templates.
instantiations: List of the instantiations of the templates in `template_typenames`.
cpp_typename: Full-namespace cpp class name of this instantiation
to replace for arguments of type named `This`.
instiated_class: The instantiated class which, if provided,
will be used for instantiating `This`.
Returns:
If `ctype`'s name is in the `template_typenames`, return the
corresponding type to replace in `instantiations`.
If ctype name is `This`, return the new typename `cpp_typename`.
Otherwise, return the original ctype.
Definition at line 31 of file helpers.py.