Template Class TypeCollection#

Nested Relationships#

Nested Types#

Inheritance Relationships#

Derived Types#

Class Documentation#

template<class Descriptor>
class TypeCollection#

A map storing types and their descriptors, the descriptor could be any instantiated types as a template class.

Subclassed by OperatorAnnotCollection< ArrayConstructDescriptor >, OperatorAnnotCollection< ArrayModifyDescriptor >, OperatorAnnotCollection< OperatorAliasDescriptor >, OperatorAnnotCollection< OperatorInlineDescriptor >, OperatorAnnotCollection< OperatorSideEffectDescriptor >, OperatorAnnotCollection< RestrictValueOpDescriptor >, TypeAnnotCollection< ArrayDefineDescriptor >, TypeAnnotCollection< ArrayOptDescriptor >, TypeAnnotCollection< HasValueDescriptor >, OperatorAnnotCollection< Descriptor >, TypeAnnotCollection< Descriptor >

Public Functions

inline const_iterator begin() const#
inline const_iterator end() const#
bool known_type(const TypeDescriptor &name, Descriptor *desc = 0) const#
bool known_type(AstInterface &fa, const AstNodePtr &exp, Descriptor *desc = 0) const#
bool known_type(AstInterface &fa, const AstNodeType &exp, Descriptor *desc = 0) const#
void Dump() const#

Protected Attributes

std::map<std::string, Descriptor> typemap#
class const_iterator : public std::map::const_iterator#

Public Functions

inline const_iterator(const typename std::map<std::string, Descriptor>::const_iterator &that)#
inline TypeDescriptor get_type() const#
inline const Descriptor &get_desc() const#