LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
overload::OverTable< T > Class Template Reference

#include <over-table.hh>

Inheritance diagram for overload::OverTable< T >:
Collaboration diagram for overload::OverTable< T >:

Public Types

typedef std::list< T * > tlist_type
typedef tlist_type::const_iterator const_iterator
typedef std::map< const
misc::symbol, tlist_type
mmap_type
typedef std::list< mmap_typeoversymtab_type
typedef std::pair
< const_iterator,
const_iterator
range_type

Public Member Functions

 OverTable ()
void put (misc::symbol key, T &value)
tlist_type get (misc::symbol key)
std::ostream & print (std::ostream &ostr) const
Scopes.
void scope_begin ()
 Open a new scope.
void scope_end ()
 Close the last scope.

Protected Attributes

oversymtab_type oversymtab_

Member Typedef Documentation

template<typename T>
typedef tlist_type::const_iterator overload::OverTable< T >::const_iterator
template<typename T>
typedef std::map<const misc::symbol, tlist_type> overload::OverTable< T >::mmap_type
template<typename T>
typedef std::list<mmap_type> overload::OverTable< T >::oversymtab_type
template<typename T>
typedef std::pair<const_iterator, const_iterator> overload::OverTable< T >::range_type
template<typename T>
typedef std::list<T*> overload::OverTable< T >::tlist_type

Constructor & Destructor Documentation

template<typename T >
overload::OverTable< T >::OverTable ( )

Member Function Documentation

template<typename T >
OverTable< T >::tlist_type overload::OverTable< T >::get ( misc::symbol  key)

References precondition.

Referenced by overload::Binder::operator()().

template<typename T >
std::ostream & overload::OverTable< T >::print ( std::ostream &  ostr) const
template<typename T>
void overload::OverTable< T >::put ( misc::symbol  key,
T &  value 
)
template<typename T >
void overload::OverTable< T >::scope_begin ( )

Open a new scope.

All further type related declarations will be limited to this scope.

Referenced by overload::Binder::scope_begin().

template<typename T >
void overload::OverTable< T >::scope_end ( )

Close the last scope.

Forget everything (ie every type related informations) since the latest scope_begin ().

References precondition.

Referenced by overload::Binder::scope_end().

Member Data Documentation

template<typename T>
oversymtab_type overload::OverTable< T >::oversymtab_
protected

The documentation for this class was generated from the following files: