clang  3.7.0
Public Member Functions | Public Attributes | List of all members
clang::OverloadCandidate Struct Reference

OverloadCandidate - A single candidate in an overload set (C++ 13.3). More...

#include <Overload.h>

Collaboration diagram for clang::OverloadCandidate:
[legend]

Public Member Functions

bool hasAmbiguousConversion () const
 
bool TryToFixBadConversion (unsigned Idx, Sema &S)
 
unsigned getNumParams () const
 

Public Attributes

FunctionDeclFunction
 
DeclAccessPair FoundDecl
 
struct {
   QualType   ResultTy
 
   QualType   ParamTypes [3]
 
BuiltinTypes
 
CXXConversionDeclSurrogate
 
ImplicitConversionSequenceConversions
 
ConversionFixItGenerator Fix
 The FixIt hints which can be used to fix the Bad candidate. More...
 
unsigned NumConversions
 NumConversions - The number of elements in the Conversions array. More...
 
bool Viable
 Viable - True to indicate that this overload candidate is viable. More...
 
bool IsSurrogate
 
bool IgnoreObjectArgument
 
unsigned char FailureKind
 
unsigned ExplicitCallArguments
 The number of call arguments that were explicitly provided, to be used while performing partial ordering of function templates. More...
 
union {
   DeductionFailureInfo   DeductionFailure
 
   StandardConversionSequence   FinalConversion
 
}; 
 

Detailed Description

OverloadCandidate - A single candidate in an overload set (C++ 13.3).

Definition at line 586 of file Overload.h.

Member Function Documentation

unsigned clang::OverloadCandidate::getNumParams ( ) const
inline
bool clang::OverloadCandidate::hasAmbiguousConversion ( ) const
inline

hasAmbiguousConversion - Returns whether this overload candidate requires an ambiguous conversion or not.

Definition at line 658 of file Overload.h.

References Conversions, and NumConversions.

bool clang::OverloadCandidate::TryToFixBadConversion ( unsigned  Idx,
Sema S 
)
inline

Member Data Documentation

union { ... }
struct { ... } clang::OverloadCandidate::BuiltinTypes
ImplicitConversionSequence* clang::OverloadCandidate::Conversions
DeductionFailureInfo clang::OverloadCandidate::DeductionFailure
unsigned clang::OverloadCandidate::ExplicitCallArguments
unsigned char clang::OverloadCandidate::FailureKind
StandardConversionSequence clang::OverloadCandidate::FinalConversion

FinalConversion - For a conversion function (where Function is a CXXConversionDecl), the standard conversion that occurs after the call to the overload candidate to convert the result of calling the conversion function to the required type.

Definition at line 653 of file Overload.h.

Referenced by clang::Sema::AddConversionCandidate(), and clang::isBetterOverloadCandidate().

ConversionFixItGenerator clang::OverloadCandidate::Fix

The FixIt hints which can be used to fix the Bad candidate.

Definition at line 616 of file Overload.h.

Referenced by CompleteNonViableCandidate(), DiagnoseBadConversion(), and TryToFixBadConversion().

DeclAccessPair clang::OverloadCandidate::FoundDecl
FunctionDecl* clang::OverloadCandidate::Function
bool clang::OverloadCandidate::IgnoreObjectArgument

IgnoreObjectArgument - True to indicate that the first argument's conversion, which for this function represents the implicit object argument, should be ignored. This will be true when the candidate is a static member function (where the implicit object argument is just a placeholder) or a non-static member function when the call doesn't have an object argument.

Definition at line 636 of file Overload.h.

Referenced by clang::Sema::AddBuiltinCandidate(), clang::Sema::AddConversionCandidate(), clang::Sema::AddMethodCandidate(), clang::Sema::AddMethodTemplateCandidate(), clang::Sema::AddOverloadCandidate(), clang::Sema::AddSurrogateCandidate(), clang::Sema::AddTemplateConversionCandidate(), clang::Sema::AddTemplateOverloadCandidate(), CompleteNonViableCandidate(), clang::isBetterOverloadCandidate(), and NoteFunctionCandidate().

bool clang::OverloadCandidate::IsSurrogate
unsigned clang::OverloadCandidate::NumConversions
QualType clang::OverloadCandidate::ParamTypes[3]
QualType clang::OverloadCandidate::ResultTy

Definition at line 601 of file Overload.h.

Referenced by clang::Sema::AddBuiltinCandidate().

CXXConversionDecl* clang::OverloadCandidate::Surrogate

Surrogate - The conversion function for which this candidate is a surrogate, but only if IsSurrogate is true.

Definition at line 607 of file Overload.h.

Referenced by clang::Sema::AddSurrogateCandidate(), CompleteNonViableCandidate(), GetLocationForCandidate(), getNumParams(), and NoteSurrogateCandidate().

bool clang::OverloadCandidate::Viable

The documentation for this struct was generated from the following file: