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 |