clang API Documentation

Classes | Namespaces | Enumerations | Functions
Overload.h File Reference
#include "clang/AST/Decl.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/Expr.h"
#include "clang/AST/TemplateBase.h"
#include "clang/AST/Type.h"
#include "clang/AST/UnresolvedSet.h"
#include "clang/Sema/SemaFixItUtils.h"
#include "clang/Sema/TemplateDeduction.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/AlignOf.h"
#include "llvm/Support/Allocator.h"
Include dependency graph for Overload.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  clang::StandardConversionSequence
struct  clang::UserDefinedConversionSequence
struct  clang::AmbiguousConversionSequence
 Represents an ambiguous user-defined conversion sequence. More...
struct  clang::BadConversionSequence
class  clang::ImplicitConversionSequence
struct  clang::OverloadCandidate
 OverloadCandidate - A single candidate in an overload set (C++ 13.3). More...
class  clang::OverloadCandidateSet

Namespaces

namespace  clang

Enumerations

enum  clang::OverloadingResult { clang::OR_Success, clang::OR_No_Viable_Function, clang::OR_Ambiguous, clang::OR_Deleted }
enum  clang::OverloadCandidateDisplayKind { clang::OCD_AllCandidates, clang::OCD_ViableCandidates }
enum  clang::ImplicitConversionKind {
  clang::ICK_Identity = 0, clang::ICK_Lvalue_To_Rvalue, clang::ICK_Array_To_Pointer, clang::ICK_Function_To_Pointer,
  clang::ICK_NoReturn_Adjustment, clang::ICK_Qualification, clang::ICK_Integral_Promotion, clang::ICK_Floating_Promotion,
  clang::ICK_Complex_Promotion, clang::ICK_Integral_Conversion, clang::ICK_Floating_Conversion, clang::ICK_Complex_Conversion,
  clang::ICK_Floating_Integral, clang::ICK_Pointer_Conversion, clang::ICK_Pointer_Member, clang::ICK_Boolean_Conversion,
  clang::ICK_Compatible_Conversion, clang::ICK_Derived_To_Base, clang::ICK_Vector_Conversion, clang::ICK_Vector_Splat,
  clang::ICK_Complex_Real, clang::ICK_Block_Pointer_Conversion, clang::ICK_TransparentUnionConversion, clang::ICK_Writeback_Conversion,
  clang::ICK_Zero_Event_Conversion, clang::ICK_Num_Conversion_Kinds
}
enum  clang::ImplicitConversionRank {
  clang::ICR_Exact_Match = 0, clang::ICR_Promotion, clang::ICR_Conversion, clang::ICR_Complex_Real_Conversion,
  clang::ICR_Writeback_Conversion
}
enum  clang::NarrowingKind { clang::NK_Not_Narrowing, clang::NK_Type_Narrowing, clang::NK_Constant_Narrowing, clang::NK_Variable_Narrowing }
enum  clang::OverloadFailureKind {
  clang::ovl_fail_too_many_arguments, clang::ovl_fail_too_few_arguments, clang::ovl_fail_bad_conversion, clang::ovl_fail_bad_deduction,
  clang::ovl_fail_trivial_conversion, clang::ovl_fail_bad_final_conversion, clang::ovl_fail_final_conversion_not_exact, clang::ovl_fail_bad_target,
  clang::ovl_fail_enable_if
}

Functions

ImplicitConversionRank clang::GetConversionRank (ImplicitConversionKind Kind)
bool clang::isBetterOverloadCandidate (Sema &S, const OverloadCandidate &Cand1, const OverloadCandidate &Cand2, SourceLocation Loc, bool UserDefinedConversion=false)