clang  6.0.0svn
Classes | Namespaces | Typedefs | 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
 StandardConversionSequence - represents a standard conversion sequence (C++ 13.3.3.1.1). More...
 
struct  clang::UserDefinedConversionSequence
 UserDefinedConversionSequence - Represents a user-defined conversion sequence (C++ 13.3.3.1.2). More...
 
struct  clang::AmbiguousConversionSequence
 Represents an ambiguous user-defined conversion sequence. More...
 
struct  clang::BadConversionSequence
 BadConversionSequence - Records information about an invalid conversion sequence. More...
 
class  clang::ImplicitConversionSequence
 ImplicitConversionSequence - Represents an implicit conversion sequence, which may be a standard conversion sequence (C++ 13.3.3.1.1), user-defined conversion sequence (C++ 13.3.3.1.2), or an ellipsis conversion sequence (C++ 13.3.3.1.3). More...
 
struct  clang::OverloadCandidate
 OverloadCandidate - A single candidate in an overload set (C++ 13.3). More...
 
class  clang::OverloadCandidateSet
 OverloadCandidateSet - A set of overload candidates, used in C++ overload resolution (C++ 13.3). More...
 
struct  clang::ConstructorInfo
 

Namespaces

 clang
 Dataflow Directional Tag Classes.
 

Typedefs

typedef llvm::MutableArrayRef< ImplicitConversionSequence > clang::ConversionSequenceList
 A list of implicit conversion sequences for the arguments of an OverloadCandidate. More...
 

Enumerations

enum  clang::OverloadingResult { clang::OR_Success, clang::OR_No_Viable_Function, clang::OR_Ambiguous, clang::OR_Deleted }
 OverloadingResult - Capture the result of performing overload resolution. More...
 
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_Function_Conversion, 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_Zero_Queue_Conversion, clang::ICK_C_Only_Conversion, clang::ICK_Incompatible_Pointer_Conversion,
  clang::ICK_Num_Conversion_Kinds
}
 ImplicitConversionKind - The kind of implicit conversion used to convert an argument to a parameter's type. More...
 
enum  clang::ImplicitConversionRank {
  clang::ICR_Exact_Match = 0, clang::ICR_Promotion, clang::ICR_Conversion, clang::ICR_OCL_Scalar_Widening,
  clang::ICR_Complex_Real_Conversion, clang::ICR_Writeback_Conversion, clang::ICR_C_Conversion, clang::ICR_C_Conversion_Extension
}
 ImplicitConversionRank - The rank of an implicit conversion kind. More...
 
enum  clang::NarrowingKind {
  clang::NK_Not_Narrowing, clang::NK_Type_Narrowing, clang::NK_Constant_Narrowing, clang::NK_Variable_Narrowing,
  clang::NK_Dependent_Narrowing
}
 NarrowingKind - The kind of narrowing conversion being performed by a standard conversion sequence according to C++11 [dcl.init.list]p7. More...
 
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_illegal_constructor, clang::ovl_fail_bad_final_conversion, clang::ovl_fail_final_conversion_not_exact,
  clang::ovl_fail_bad_target, clang::ovl_fail_enable_if, clang::ovl_fail_addr_not_available, clang::ovl_fail_ext_disabled,
  clang::ovl_fail_inhctor_slice
}
 

Functions

ImplicitConversionRank clang::GetConversionRank (ImplicitConversionKind Kind)
 GetConversionRank - Retrieve the implicit conversion rank corresponding to the given implicit conversion kind. More...
 
bool clang::isBetterOverloadCandidate (Sema &S, const OverloadCandidate &Cand1, const OverloadCandidate &Cand2, SourceLocation Loc, OverloadCandidateSet::CandidateSetKind Kind)
 isBetterOverloadCandidate - Determines whether the first overload candidate is a better candidate than the second (C++ 13.3.3p1). More...
 
ConstructorInfo clang::getConstructorInfo (NamedDecl *ND)