示例#1
0
def _always_false_from_type(t: ir0.Expr):
    return _metafunction_call(
        template_expr=GlobalLiterals.ALWAYS_FALSE_FROM_TYPE,
        args=[t],
        instantiation_might_trigger_static_asserts=False,
        member_name='value',
        member_type=ir0.BoolType())
示例#2
0
def bool_member_access(class_expr: ir0.Expr, member_name: str):
    return ir0.ClassMemberAccess(class_type_expr=class_expr,
                                 member_name=member_name,
                                 member_type=ir0.BoolType())
示例#3
0
def _variadic_bool_arg_type():
    return ir0.TemplateArgType(expr_type=ir0.BoolType(), is_variadic=True)
示例#4
0
def _variadic_bool_arg_decl(name: str):
    return ir0.TemplateArgDecl(expr_type=ir0.BoolType(),
                               name=name,
                               is_variadic=True)
示例#5
0
def _local_variadic_bool(cpp_type: str):
    return ir0.AtomicTypeLiteral.for_local(cpp_type,
                                           ir0.BoolType(),
                                           is_variadic=True)
示例#6
0
def _is_in_type_set(t: ir0.Expr, s: ir0.Expr):
    return _metafunction_call(template_expr=GlobalLiterals.IS_IN_TYPE_LIST,
                              args=[t, s],
                              instantiation_might_trigger_static_asserts=False,
                              member_type=ir0.BoolType(),
                              member_name='value')
示例#7
0
def _is_same(lhs: ir0.Expr, rhs: ir0.Expr):
    return _metafunction_call(template_expr=GlobalLiterals.STD_IS_SAME,
                              args=[lhs, rhs],
                              instantiation_might_trigger_static_asserts=False,
                              member_name='value',
                              member_type=ir0.BoolType())
示例#8
0
def _bool_arg_type() -> ir0.TemplateArgType:
    return ir0.TemplateArgType(expr_type=ir0.BoolType(), is_variadic=False)