PUMA Library Reference Manual
Loading...
Searching...
No Matches
Puma::InstantiationCandidate Class Reference

#include <InstantiationCandidate.h>

Public Member Functions

 InstantiationCandidate ()
 ~InstantiationCandidate ()
CTree * instantiate (CCInstantiation *inst)
InstantiationParser & getParser ()
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 ()
CObjectInfo * ObjectInfo () const
CTemplateInfo * TemplateInfo () const
CTree * PointOfInstantiation () const
CStructure * InstanceScope () const
CTemplateInstance * TemplateInstance () const
CStructure * createInstanceScope ()
unsigned Arguments () const
unsigned DeducedArgs () const
unsigned InstantiationArgs () const
CTree * Argument (unsigned) const
DeducedArgument * DeducedArg (unsigned) const
DeducedArgument * InstantiationArg (unsigned) const
int getPosition (CTemplateParamInfo *) const
Token * getPointOfInstantiationToken (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 * )