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

NameValueComment
ICK_Identity0Identity conversion (no conversion)
ICK_Lvalue_To_Rvalue1Lvalue-to-rvalue conversion (C++ [conv.lval])
ICK_Array_To_Pointer2Array-to-pointer conversion (C++ [conv.array])
ICK_Function_To_Pointer3Function-to-pointer (C++ [conv.array])
ICK_Function_Conversion4Function pointer conversion (C++17 [conv.fctptr])
ICK_Qualification5Qualification conversions (C++ [conv.qual])
ICK_Integral_Promotion6Integral promotions (C++ [conv.prom])
ICK_Floating_Promotion7Floating point promotions (C++ [conv.fpprom])
ICK_Complex_Promotion8Complex promotions (Clang extension)
ICK_Integral_Conversion9Integral conversions (C++ [conv.integral])
ICK_Floating_Conversion10Floating point conversions (C++ [conv.double]
ICK_Complex_Conversion11Complex conversions (C99 6.3.1.6)
ICK_Floating_Integral12Floating-integral conversions (C++ [conv.fpint])
ICK_Pointer_Conversion13Pointer conversions (C++ [conv.ptr])
ICK_Pointer_Member14Pointer-to-member conversions (C++ [conv.mem])
ICK_Boolean_Conversion15Boolean conversions (C++ [conv.bool])
ICK_Compatible_Conversion16Conversions between compatible types in C99
ICK_Derived_To_Base17Derived-to-base (C++ [over.best.ics])
ICK_Vector_Conversion18Vector conversions
ICK_SVE_Vector_Conversion19Arm SVE Vector conversions
ICK_Vector_Splat20A vector splat from an arithmetic type
ICK_Complex_Real21Complex-real conversions (C99 6.3.1.7)
ICK_Block_Pointer_Conversion22Block Pointer conversions
ICK_TransparentUnionConversion23Transparent Union Conversions
ICK_Writeback_Conversion24Objective-C ARC writeback conversion
ICK_Zero_Event_Conversion25Zero constant to event (OpenCL1.2 6.12.10)
ICK_Zero_Queue_Conversion26Zero constant to queue
ICK_C_Only_Conversion27Conversions allowed in C, but not C++
ICK_Incompatible_Pointer_Conversion28C-only conversion between pointers with incompatible types
ICK_Num_Conversion_Kinds29The number of conversion kinds