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

#include <CCConversions.h>

Public Member Functions

 CCConversions (ErrorSink &)
 
CCConvSeq * implicitConversions (CTypeInfo *, CTypeInfo *, CTree *, CTree *, bool=true)
 
CCConvSeq * standardConversions (CTypeInfo *, CTypeInfo *, CTree *, CTree *)
 
CCConvSeq * userDefinedConversions (CTypeInfo *, CTypeInfo *, CTree *, CTree *)
 
CCConvSeq * referenceBinding (CTypeInfo *, CTypeInfo *, CTree *, CTree *, bool=true)
 
CCConvSeq * ellipsisConversions ()
 

Static Public Member Functions

static CTypeInfo * integralPromotion (CTypeInfo *)
 
static CTypeInfo * arithmeticPromotion (CTypeInfo *)
 
static CTypeInfo * usualArithmeticConv (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 CClassInfo * extractClass (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