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

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

◆ baseClass() [1/2]

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

◆ baseClass() [2/2]

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

◆ compareConvSeq()

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

◆ compareSameRankConvSeq()

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

◆ convSequenceRank()

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

◆ ellipsisConversions()

CCConvSeq * Puma::CCConversions::ellipsisConversions ( )

◆ equalOrMoreQualified()

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

◆ extractClass()

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

◆ implicitConversions()

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

◆ integralPromotion()

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

◆ isValidConversion()

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

◆ properSubsequence()

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

◆ referenceBinding()

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

◆ referenceCompatible()

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

◆ referenceRelated()

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

◆ similarTypes()

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

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