PUMA Library Reference Manual
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