Conversion_Kind¶
- enum Conversion_Kind¶
Field
Constant in module
Description
Unknown
ir.conversion_unknown
template dependent or any other conversion
Identity
ir.conversion_identity
no change in type: might change only the value category, or might be a redundant cast.
Qualifier
ir.conversion_qualifier
E.g.,
int*toconst int*; also used for const_cast removing qualifiers.Derived_To_Base
ir.conversion_derived_to_base
Cast from derived to base; works with pointers and references to class types.
Base_To_Derived
ir.conversion_base_to_derived
Cast from base to derived; works with pointers and references to class types. Uses
static_castsemantics.Dynamic_Cast
ir.conversion_dynamic_cast
Base<->derived cast; works with pointers and references to class types. Uses
dynamic_castsemantics.Pointer_To_Member_Derived_To_Base
ir.conversion_pointer_to_member_derived_to_base
Pointer_To_Member_Base_To_Derived
ir.conversion_pointer_to_member_base_to_derived
Bool
ir.conversion_bool
int/float/ptr to bool
Discard
ir.conversion_discard
cast to void
Numeric
ir.conversion_numeric
integral, enum, floating-point or floating-integral cast
Vector_Fill
ir.conversion_vector_fill
convert from scalar to vector
Reinterpret_Cast
ir.conversion_reinterpret_cast
cast between unrelated pointer types; or ptr<->int cast.
Null_Pointer
ir.conversion_null_pointer
E.g., integer literal 0 to pointer
Array_To_Pointer
ir.conversion_array_to_pointer
Function_To_Pointer
ir.conversion_function_to_pointer
Managed_Boxing
ir.conversion_managed_boxing
C++/CLI boxing conversion (e.g.,
inttoObject^).Managed_Unboxing
ir.conversion_managed_unboxing
C++/CLI unboxing conversion (e.g.,
Object^toint)