clang 22.0.0git
clang::TemplateSpecCandidateSet Class Reference

TemplateSpecCandidateSet - A set of generalized overload candidates, used in template specializations. More...

#include "clang/Sema/TemplateDeduction.h"

Public Types

using iterator = SmallVector<TemplateSpecCandidate, 16>::iterator

Public Member Functions

 TemplateSpecCandidateSet (SourceLocation Loc, bool ForTakingAddress=false)
 TemplateSpecCandidateSet (const TemplateSpecCandidateSet &)=delete
TemplateSpecCandidateSetoperator= (const TemplateSpecCandidateSet &)=delete
 ~TemplateSpecCandidateSet ()
SourceLocation getLocation () const
void clear ()
 Clear out all of the candidates.
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.
void 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.
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 347 of file TemplateDeduction.h.

Member Typedef Documentation

◆ iterator

Constructor & Destructor Documentation

◆ TemplateSpecCandidateSet() [1/2]

clang::TemplateSpecCandidateSet::TemplateSpecCandidateSet ( SourceLocation Loc,
bool ForTakingAddress = false )
inline

Definition at line 359 of file TemplateDeduction.h.

Referenced by NoteCandidates(), operator=(), and TemplateSpecCandidateSet().

◆ TemplateSpecCandidateSet() [2/2]

clang::TemplateSpecCandidateSet::TemplateSpecCandidateSet ( const TemplateSpecCandidateSet & )
delete

◆ ~TemplateSpecCandidateSet()

clang::TemplateSpecCandidateSet::~TemplateSpecCandidateSet ( )
inline

Definition at line 364 of file TemplateDeduction.h.

Member Function Documentation

◆ addCandidate()

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

◆ begin()

iterator clang::TemplateSpecCandidateSet::begin ( )
inline

Definition at line 374 of file TemplateDeduction.h.

◆ clear()

void TemplateSpecCandidateSet::clear ( )

Clear out all of the candidates.

TODO: This may be unnecessary.

Definition at line 13338 of file SemaOverload.cpp.

◆ empty()

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

Definition at line 378 of file TemplateDeduction.h.

◆ end()

iterator clang::TemplateSpecCandidateSet::end ( )
inline

Definition at line 375 of file TemplateDeduction.h.

◆ getLocation()

◆ NoteCandidates() [1/2]

void TemplateSpecCandidateSet::NoteCandidates ( Sema & S,
SourceLocation Loc )

◆ NoteCandidates() [2/2]

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

Definition at line 389 of file TemplateDeduction.h.

References NoteCandidates(), and TemplateSpecCandidateSet().

◆ operator=()

TemplateSpecCandidateSet & clang::TemplateSpecCandidateSet::operator= ( const TemplateSpecCandidateSet & )
delete

◆ size()

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

Definition at line 377 of file TemplateDeduction.h.


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