PUMA Library Reference Manual
Loading...
Searching...
No Matches
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 * )