enum ImplicitConversionKind
Description
ImplicitConversionKind - The kind of implicit conversion used to convert an argument to a parameter's type. The enumerator values match with the table titled 'Conversions' in [over.ics.scs] and are listed such that better conversion kinds have smaller values.
Declared at: clang/include/clang/Sema/Overload.h:105
Enumerators
Name | Value | Comment |
---|---|---|
ICK_Identity | 0 | Identity conversion (no conversion) |
ICK_Lvalue_To_Rvalue | 1 | Lvalue-to-rvalue conversion (C++ [conv.lval]) |
ICK_Array_To_Pointer | 2 | Array-to-pointer conversion (C++ [conv.array]) |
ICK_Function_To_Pointer | 3 | Function-to-pointer (C++ [conv.array]) |
ICK_Function_Conversion | 4 | Function pointer conversion (C++17 [conv.fctptr]) |
ICK_Qualification | 5 | Qualification conversions (C++ [conv.qual]) |
ICK_Integral_Promotion | 6 | Integral promotions (C++ [conv.prom]) |
ICK_Floating_Promotion | 7 | Floating point promotions (C++ [conv.fpprom]) |
ICK_Complex_Promotion | 8 | Complex promotions (Clang extension) |
ICK_Integral_Conversion | 9 | Integral conversions (C++ [conv.integral]) |
ICK_Floating_Conversion | 10 | Floating point conversions (C++ [conv.double] |
ICK_Complex_Conversion | 11 | Complex conversions (C99 6.3.1.6) |
ICK_Floating_Integral | 12 | Floating-integral conversions (C++ [conv.fpint]) |
ICK_Pointer_Conversion | 13 | Pointer conversions (C++ [conv.ptr]) |
ICK_Pointer_Member | 14 | Pointer-to-member conversions (C++ [conv.mem]) |
ICK_Boolean_Conversion | 15 | Boolean conversions (C++ [conv.bool]) |
ICK_Compatible_Conversion | 16 | Conversions between compatible types in C99 |
ICK_Derived_To_Base | 17 | Derived-to-base (C++ [over.best.ics]) |
ICK_Vector_Conversion | 18 | Vector conversions |
ICK_SVE_Vector_Conversion | 19 | Arm SVE Vector conversions |
ICK_Vector_Splat | 20 | A vector splat from an arithmetic type |
ICK_Complex_Real | 21 | Complex-real conversions (C99 6.3.1.7) |
ICK_Block_Pointer_Conversion | 22 | Block Pointer conversions |
ICK_TransparentUnionConversion | 23 | Transparent Union Conversions |
ICK_Writeback_Conversion | 24 | Objective-C ARC writeback conversion |
ICK_Zero_Event_Conversion | 25 | Zero constant to event (OpenCL1.2 6.12.10) |
ICK_Zero_Queue_Conversion | 26 | Zero constant to queue |
ICK_C_Only_Conversion | 27 | Conversions allowed in C, but not C++ |
ICK_Incompatible_Pointer_Conversion | 28 | C-only conversion between pointers with incompatible types |
ICK_Num_Conversion_Kinds | 29 | The number of conversion kinds |