clang  3.7.0
Public Types | Public Member Functions | List of all members
clang::TemplateSpecCandidateSet Class Reference

#include <TemplateDeduction.h>

Public Types

typedef SmallVector
< TemplateSpecCandidate, 16 >
::iterator 
iterator
 

Public Member Functions

 TemplateSpecCandidateSet (SourceLocation Loc)
 
 ~TemplateSpecCandidateSet ()
 
SourceLocation getLocation () const
 
void clear ()
 Clear out all of the candidates. TODO: This may be unnecessary. More...
 
iterator begin ()
 
iterator end ()
 
size_t size () const
 
bool empty () const
 
TemplateSpecCandidateaddCandidate ()
 Add a new candidate with NumConversions conversion sequence slots to the overload set. More...
 
void NoteCandidates (Sema &S, SourceLocation Loc)
 
void NoteCandidates (Sema &S, SourceLocation Loc) const
 

Detailed Description

TemplateSpecCandidateSet - A set of generalized overload candidates, used in template specializations. TODO: In the future, we may need to unify/generalize this with OverloadCandidateSet.

Definition at line 246 of file TemplateDeduction.h.

Member Typedef Documentation

Definition at line 266 of file TemplateDeduction.h.

Constructor & Destructor Documentation

clang::TemplateSpecCandidateSet::TemplateSpecCandidateSet ( SourceLocation  Loc)
inline

Definition at line 257 of file TemplateDeduction.h.

clang::TemplateSpecCandidateSet::~TemplateSpecCandidateSet ( )
inline

Definition at line 258 of file TemplateDeduction.h.

Member Function Documentation

TemplateSpecCandidate& clang::TemplateSpecCandidateSet::addCandidate ( )
inline

Add a new candidate with NumConversions conversion sequence slots to the overload set.

Definition at line 275 of file TemplateDeduction.h.

Referenced by clang::Sema::CheckVarTemplateId(), and clang::Sema::InstantiateClassTemplateSpecialization().

iterator clang::TemplateSpecCandidateSet::begin ( )
inline

Definition at line 267 of file TemplateDeduction.h.

Referenced by NoteCandidates().

void TemplateSpecCandidateSet::clear ( )

Clear out all of the candidates. TODO: This may be unnecessary.

Definition at line 9750 of file SemaOverload.cpp.

bool clang::TemplateSpecCandidateSet::empty ( ) const
inline

Definition at line 271 of file TemplateDeduction.h.

iterator clang::TemplateSpecCandidateSet::end ( )
inline

Definition at line 268 of file TemplateDeduction.h.

Referenced by NoteCandidates().

SourceLocation clang::TemplateSpecCandidateSet::getLocation ( ) const
inline
void TemplateSpecCandidateSet::NoteCandidates ( Sema S,
SourceLocation  Loc 
)

NoteCandidates - When no template specialization match is found, prints diagnostic messages containing the non-matching specializations that form the candidate set. This is analoguous to OverloadCandidateSet::NoteCandidates() with OCD == OCD_AllCandidates and Cand->Viable == false.

Definition at line 9760 of file SemaOverload.cpp.

References begin(), clang::Sema::Diag(), clang::Sema::Diags, end(), clang::DiagnosticsEngine::getShowOverloads(), clang::TemplateSpecCandidate::NoteDeductionFailure(), clang::Ovl_Best, size(), and clang::TemplateSpecCandidate::Specialization.

Referenced by clang::Sema::getMostSpecialized(), and NoteCandidates().

void clang::TemplateSpecCandidateSet::NoteCandidates ( Sema S,
SourceLocation  Loc 
) const
inline

Definition at line 282 of file TemplateDeduction.h.

References NoteCandidates().

size_t clang::TemplateSpecCandidateSet::size ( ) const
inline

Definition at line 270 of file TemplateDeduction.h.

Referenced by NoteCandidates().


The documentation for this class was generated from the following files: