PUMA Library Reference Manual
Puma::InstantiationCandidate Class Reference

#include <InstantiationCandidate.h>

Public Member Functions

 InstantiationCandidate ()
 
 ~InstantiationCandidate ()
 
CTreeinstantiate (CCInstantiation *inst)
 
InstantiationParsergetParser ()
 
void reset ()
 
void initialize (ErrorSink *e)
 
void initialize (CTree *p, CObjectInfo *o)
 
void initialize (CTree *p, CObjectInfo *o, CTemplateInfo *t, ErrorSink *e=0)
 
void addArgument (CTree *)
 
void addDeducedArg (DeducedArgument *)
 
void addInstantiationArg (DeducedArgument *)
 
void forgetDeducedArgs ()
 
void TemplateInstance (CTemplateInstance *)
 
bool deduceArguments (bool real_inst)
 
bool deduceArgumentsFromFctCall (unsigned skip=0, bool exact_match=false, bool partial_ordering=false)
 
bool match (InstantiationCandidate &)
 
int compare (InstantiationCandidate &)
 
bool canBeInstantiated ()
 
CObjectInfoObjectInfo () const
 
CTemplateInfoTemplateInfo () const
 
CTreePointOfInstantiation () const
 
CStructureInstanceScope () const
 
CTemplateInstanceTemplateInstance () const
 
CStructurecreateInstanceScope ()
 
unsigned Arguments () const
 
unsigned DeducedArgs () const
 
unsigned InstantiationArgs () const
 
CTreeArgument (unsigned) const
 
DeducedArgumentDeducedArg (unsigned) const
 
DeducedArgumentInstantiationArg (unsigned) const
 
int getPosition (CTemplateParamInfo *) const
 
TokengetPointOfInstantiationToken (CTree *point_of_inst=0) const
 
void printInstantiationHeader () const
 
void printInstantiationErrorHeader (Token *token) const
 
void printArgumentList (std::ostream &out, bool print_default_args=false) const
 
bool maxInstDepthReached ()
 
bool detectedDelayedParseNode () const
 

Constructor & Destructor Documentation

◆ InstantiationCandidate()

Puma::InstantiationCandidate::InstantiationCandidate ( )

◆ ~InstantiationCandidate()

Puma::InstantiationCandidate::~InstantiationCandidate ( )

Member Function Documentation

◆ addArgument()

void Puma::InstantiationCandidate::addArgument ( CTree a)
inline

◆ addDeducedArg()

void Puma::InstantiationCandidate::addDeducedArg ( DeducedArgument darg)
inline

◆ addInstantiationArg()

void Puma::InstantiationCandidate::addInstantiationArg ( DeducedArgument darg)
inline

◆ Argument()

CTree * Puma::InstantiationCandidate::Argument ( unsigned  i) const
inline

◆ Arguments()

unsigned Puma::InstantiationCandidate::Arguments ( ) const
inline

◆ canBeInstantiated()

bool Puma::InstantiationCandidate::canBeInstantiated ( )

◆ compare()

int Puma::InstantiationCandidate::compare ( InstantiationCandidate )

◆ createInstanceScope()

CStructure* Puma::InstantiationCandidate::createInstanceScope ( )

◆ deduceArguments()

bool Puma::InstantiationCandidate::deduceArguments ( bool  real_inst)

◆ deduceArgumentsFromFctCall()

bool Puma::InstantiationCandidate::deduceArgumentsFromFctCall ( unsigned  skip = 0,
bool  exact_match = false,
bool  partial_ordering = false 
)

◆ DeducedArg()

DeducedArgument * Puma::InstantiationCandidate::DeducedArg ( unsigned  i) const
inline

◆ DeducedArgs()

unsigned Puma::InstantiationCandidate::DeducedArgs ( ) const
inline

◆ detectedDelayedParseNode()

bool Puma::InstantiationCandidate::detectedDelayedParseNode ( ) const
inline

◆ forgetDeducedArgs()

void Puma::InstantiationCandidate::forgetDeducedArgs ( )
inline

◆ getParser()

InstantiationParser& Puma::InstantiationCandidate::getParser ( )

◆ getPointOfInstantiationToken()

Token* Puma::InstantiationCandidate::getPointOfInstantiationToken ( CTree point_of_inst = 0) const

◆ getPosition()

int Puma::InstantiationCandidate::getPosition ( CTemplateParamInfo ) const

◆ initialize() [1/3]

void Puma::InstantiationCandidate::initialize ( CTree p,
CObjectInfo o 
)

◆ initialize() [2/3]

void Puma::InstantiationCandidate::initialize ( CTree p,
CObjectInfo o,
CTemplateInfo t,
ErrorSink e = 0 
)

◆ initialize() [3/3]

void Puma::InstantiationCandidate::initialize ( ErrorSink e)

◆ InstanceScope()

CStructure * Puma::InstantiationCandidate::InstanceScope ( ) const
inline

◆ instantiate()

CTree* Puma::InstantiationCandidate::instantiate ( CCInstantiation inst)

◆ InstantiationArg()

DeducedArgument * Puma::InstantiationCandidate::InstantiationArg ( unsigned  i) const
inline

◆ InstantiationArgs()

unsigned Puma::InstantiationCandidate::InstantiationArgs ( ) const
inline

◆ match()

bool Puma::InstantiationCandidate::match ( InstantiationCandidate )

◆ maxInstDepthReached()

bool Puma::InstantiationCandidate::maxInstDepthReached ( )

◆ ObjectInfo()

CObjectInfo * Puma::InstantiationCandidate::ObjectInfo ( ) const
inline

◆ PointOfInstantiation()

CTree * Puma::InstantiationCandidate::PointOfInstantiation ( ) const
inline

◆ printArgumentList()

void Puma::InstantiationCandidate::printArgumentList ( std::ostream &  out,
bool  print_default_args = false 
) const

◆ printInstantiationErrorHeader()

void Puma::InstantiationCandidate::printInstantiationErrorHeader ( Token token) const

◆ printInstantiationHeader()

void Puma::InstantiationCandidate::printInstantiationHeader ( ) const

◆ reset()

void Puma::InstantiationCandidate::reset ( )

◆ TemplateInfo()

CTemplateInfo * Puma::InstantiationCandidate::TemplateInfo ( ) const
inline

◆ TemplateInstance() [1/2]

CTemplateInstance * Puma::InstantiationCandidate::TemplateInstance ( ) const
inline

◆ TemplateInstance() [2/2]

void Puma::InstantiationCandidate::TemplateInstance ( CTemplateInstance )