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

#include <CCConversions.h>

Public Member Functions

 CCConversions (ErrorSink &)
 
CCConvSeqimplicitConversions (CTypeInfo *, CTypeInfo *, CTree *, CTree *, bool=true)
 
CCConvSeqstandardConversions (CTypeInfo *, CTypeInfo *, CTree *, CTree *)
 
CCConvSequserDefinedConversions (CTypeInfo *, CTypeInfo *, CTree *, CTree *)
 
CCConvSeqreferenceBinding (CTypeInfo *, CTypeInfo *, CTree *, CTree *, bool=true)
 
CCConvSeqellipsisConversions ()
 

Static Public Member Functions

static CTypeInfointegralPromotion (CTypeInfo *)
 
static CTypeInfoarithmeticPromotion (CTypeInfo *)
 
static CTypeInfousualArithmeticConv (CTypeInfo *, CTypeInfo *)
 
static int compareConvSeq (CCConvSeq *, CCConvSeq *)
 
static bool similarTypes (CTypeInfo *, CTypeInfo *)
 
static bool referenceCompatible (CTypeInfo *, CTypeInfo *)
 
static bool referenceRelated (CTypeInfo *, CTypeInfo *)
 
static bool equalOrMoreQualified (CTypeInfo *, CTypeInfo *)
 

Protected Member Functions

bool isValidConversion (CTree *, CTypeInfo *, CTypeInfo *, CCOverloading &) const
 

Static Protected Member Functions

static int compareSameRankConvSeq (CCConvSeq *, CCConvSeq *)
 
static unsigned convSequenceRank (CCConvSeq *)
 
static bool properSubsequence (CCConvSeq *, CCConvSeq *)
 
static bool baseClass (CTypeInfo *, CTypeInfo *)
 
static bool baseClass (CClassInfo *, CClassInfo *)
 
static CClassInfoextractClass (CTypeInfo *, bool)
 

Constructor & Destructor Documentation

◆ CCConversions()

Puma::CCConversions::CCConversions ( ErrorSink & e)
inline

Member Function Documentation

◆ arithmeticPromotion()

static CTypeInfo * Puma::CCConversions::arithmeticPromotion ( CTypeInfo * )
static

◆ baseClass() [1/2]

static bool Puma::CCConversions::baseClass ( CClassInfo * ,
CClassInfo *  )
staticprotected

◆ baseClass() [2/2]

static bool Puma::CCConversions::baseClass ( CTypeInfo * ,
CTypeInfo *  )
staticprotected

◆ compareConvSeq()

static int Puma::CCConversions::compareConvSeq ( CCConvSeq * ,
CCConvSeq *  )
static

◆ compareSameRankConvSeq()

static int Puma::CCConversions::compareSameRankConvSeq ( CCConvSeq * ,
CCConvSeq *  )
staticprotected

◆ convSequenceRank()

static unsigned Puma::CCConversions::convSequenceRank ( CCConvSeq * )
staticprotected

◆ ellipsisConversions()

CCConvSeq * Puma::CCConversions::ellipsisConversions ( )

◆ equalOrMoreQualified()

static bool Puma::CCConversions::equalOrMoreQualified ( CTypeInfo * ,
CTypeInfo *  )
static

◆ extractClass()

static CClassInfo * Puma::CCConversions::extractClass ( CTypeInfo * ,
bool  )
staticprotected

◆ implicitConversions()

CCConvSeq * Puma::CCConversions::implicitConversions ( CTypeInfo * ,
CTypeInfo * ,
CTree * ,
CTree * ,
bool = true )

◆ integralPromotion()

static CTypeInfo * Puma::CCConversions::integralPromotion ( CTypeInfo * )
static

◆ isValidConversion()

bool Puma::CCConversions::isValidConversion ( CTree * ,
CTypeInfo * ,
CTypeInfo * ,
CCOverloading &  ) const
protected

◆ properSubsequence()

static bool Puma::CCConversions::properSubsequence ( CCConvSeq * ,
CCConvSeq *  )
staticprotected

◆ referenceBinding()

CCConvSeq * Puma::CCConversions::referenceBinding ( CTypeInfo * ,
CTypeInfo * ,
CTree * ,
CTree * ,
bool = true )

◆ referenceCompatible()

static bool Puma::CCConversions::referenceCompatible ( CTypeInfo * ,
CTypeInfo *  )
static

◆ referenceRelated()

static bool Puma::CCConversions::referenceRelated ( CTypeInfo * ,
CTypeInfo *  )
static

◆ similarTypes()

static bool Puma::CCConversions::similarTypes ( CTypeInfo * ,
CTypeInfo *  )
static

◆ standardConversions()

CCConvSeq * Puma::CCConversions::standardConversions ( CTypeInfo * ,
CTypeInfo * ,
CTree * ,
CTree *  )

◆ userDefinedConversions()

CCConvSeq * Puma::CCConversions::userDefinedConversions ( CTypeInfo * ,
CTypeInfo * ,
CTree * ,
CTree *  )

◆ usualArithmeticConv()

static CTypeInfo * Puma::CCConversions::usualArithmeticConv ( CTypeInfo * ,
CTypeInfo *  )
static