WSF
UsTypeList Class Reference

#include <UsSymbolTable.hpp>

Collaboration diagram for UsTypeList:

Public Types

typedef std::pair< int, int > TemplateArgs
typedef std::pair< int, TemplateArgsTemplateType
typedef std::map< TemplateType, UsType * > TemplateTypeMap
typedef std::set< const char *, wizard::UtilCStringCompareStrMap
typedef std::map< UsFunction, int > PrototypeMap
typedef std::map< const char *, int, wizard::UtilCStringCompareNameMap

Public Member Functions

 UsTypeList ()
 ~UsTypeList ()
UsTypeGetType (int aTypeId)
UsTypeGetType (TemplateType aTypeId)
std::pair< UsType *, UsType * > GetTemplateArgs (TemplateArgs aArgs)
const char * GetString (const char *aString)
std::string GetTypeName (int aTypeId)
UsTypeFindType (const std::string &aTypeName)
UsTypeFindType (const char *aTypeStr)
UsTypeFindTypeOrMakeTemplate (const std::string &aTypeName)
void AddType (const std::string &aTypeName, UsType *aType)
int AddPrototype (const UsFunction &aPrototype)
const UsFunctionGetPrototype (int aId)
std::string GetFunctionPrototype (const std::string &aName, const UsFunction &aFunction)
 UT_MEMORY_DEBUG_MARKER (cMDB_UsTypeList)

Static Public Member Functions

static int SplitTemplateType (const std::string &aTypeName, std::string &aBaseName, std::string &aTemplateArg1, std::string &aTemplateArg2)

Public Attributes

NameMap mNameMap
std::vector< UsType * > mTypes
TemplateTypeMap mTemplateTypes
UsTypemMapBase
UsTypemSetBase
UsTypemArrayBase
std::vector< const UsFunction * > mPrototypes
PrototypeMap mPrototypeMap
StrMap mStrings

Static Public Attributes

static const int cPROTOTYPE_ID_START = 100000

Member Typedef Documentation

◆ NameMap

typedef std::map<const char*, int, wizard::UtilCStringCompare> UsTypeList::NameMap

◆ PrototypeMap

typedef std::map<UsFunction, int> UsTypeList::PrototypeMap

◆ StrMap

typedef std::set<const char*, wizard::UtilCStringCompare> UsTypeList::StrMap

◆ TemplateArgs

typedef std::pair<int, int> UsTypeList::TemplateArgs

◆ TemplateType

typedef std::pair<int, TemplateArgs> UsTypeList::TemplateType

◆ TemplateTypeMap

Constructor & Destructor Documentation

◆ UsTypeList()

UsTypeList::UsTypeList ( )

References mArrayBase, mMapBase, mSetBase, and mTypes.

◆ ~UsTypeList()

UsTypeList::~UsTypeList ( )

References mStrings, and mTypes.

Member Function Documentation

◆ AddPrototype()

int UsTypeList::AddPrototype ( const UsFunction & aPrototype)

◆ AddType()

void UsTypeList::AddType ( const std::string & aTypeName,
UsType * aType )

◆ FindType() [1/2]

UsType * UsTypeList::FindType ( const char * aTypeStr)

References mNameMap, and mTypes.

◆ FindType() [2/2]

UsType * UsTypeList::FindType ( const std::string & aTypeName)

References FindType().

Referenced by FindType(), and FindTypeOrMakeTemplate().

◆ FindTypeOrMakeTemplate()

UsType * UsTypeList::FindTypeOrMakeTemplate ( const std::string & aTypeName)

◆ GetFunctionPrototype()

std::string UsTypeList::GetFunctionPrototype ( const std::string & aName,
const UsFunction & aFunction )

◆ GetPrototype()

const UsFunction * UsTypeList::GetPrototype ( int aId)

◆ GetString()

const char * UsTypeList::GetString ( const char * aString)

References mStrings.

Referenced by AddType(), and GetType().

◆ GetTemplateArgs()

std::pair< UsType *, UsType * > UsTypeList::GetTemplateArgs ( TemplateArgs aArgs)

References GetType().

Referenced by GetType().

◆ GetType() [1/2]

◆ GetType() [2/2]

◆ GetTypeName()

std::string UsTypeList::GetTypeName ( int aTypeId)

◆ SplitTemplateType()

int UsTypeList::SplitTemplateType ( const std::string & aTypeName,
std::string & aBaseName,
std::string & aTemplateArg1,
std::string & aTemplateArg2 )
static

◆ UT_MEMORY_DEBUG_MARKER()

UsTypeList::UT_MEMORY_DEBUG_MARKER ( cMDB_UsTypeList )

References cMDB_UsTypeList.

Member Data Documentation

◆ cPROTOTYPE_ID_START

const int UsTypeList::cPROTOTYPE_ID_START = 100000
static

◆ mArrayBase

UsType* UsTypeList::mArrayBase

Referenced by UsTypeList().

◆ mMapBase

UsType* UsTypeList::mMapBase

Referenced by UsTypeList().

◆ mNameMap

NameMap UsTypeList::mNameMap

Referenced by AddType(), FindType(), and GetType().

◆ mPrototypeMap

PrototypeMap UsTypeList::mPrototypeMap

Referenced by AddPrototype().

◆ mPrototypes

std::vector<const UsFunction*> UsTypeList::mPrototypes

Referenced by AddPrototype(), and GetPrototype().

◆ mSetBase

UsType* UsTypeList::mSetBase

Referenced by UsTypeList().

◆ mStrings

StrMap UsTypeList::mStrings

Referenced by GetString(), and ~UsTypeList().

◆ mTemplateTypes

TemplateTypeMap UsTypeList::mTemplateTypes

Referenced by GetType().

◆ mTypes

std::vector<UsType*> UsTypeList::mTypes

The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved