def _template_template_arg_decl(name: str, *args: ir.TemplateArgType): return ir.TemplateArgDecl(expr_type=ir.TemplateType(args), name=name, is_variadic=False)
def _variadic_int64_arg_decl(name: str): return ir.TemplateArgDecl(expr_type=ir.Int64Type(), name=name, is_variadic=True)
def _variadic_bool_arg_decl(name: str): return ir.TemplateArgDecl(expr_type=ir.BoolType(), name=name, is_variadic=True)
def _type_arg_decl(name: str): return ir.TemplateArgDecl(expr_type=ir.TypeType(), name=name, is_variadic=False)
def transform_template_arg_decl(self, arg_decl: ir.TemplateArgDecl): return ir.TemplateArgDecl(expr_type=arg_decl.expr_type, name=self._transform_name(arg_decl.name), is_variadic=arg_decl.is_variadic)
VariadicVarReplacementNotPossibleException, replace_var_with_expr_in_expr from _py2tmp.ir0_optimization._unify import unify_template_instantiation_with_definition _select1st_type_and_name = [ (ir.BoolType(), 'Bool'), (ir.Int64Type(), 'Int64'), (ir.TypeType(), 'Type'), ] TEMPLATE_DEFNS_DEFINED_AS_IR0 = [ ir.TemplateDefn( name='std::is_same', description='', result_element_names=['value'], args=[ ir.TemplateArgDecl( name='T', expr_type=ir.TypeType(), is_variadic=False), ir.TemplateArgDecl( name='U', expr_type=ir.TypeType(), is_variadic=False) ], main_definition=ir.TemplateSpecialization( args=[ ir.TemplateArgDecl( name='T', expr_type=ir.TypeType(), is_variadic=False), ir.TemplateArgDecl( name='U', expr_type=ir.TypeType(), is_variadic=False) ], patterns=None, body=[ir.ConstantDef(name='value', expr=ir.Literal(False))], is_metafunction=True), specializations=[ ir.TemplateSpecialization(