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 *  )