molecular
Classes | Public Types | Public Member Functions | List of all members
molecular::util::DynamicScoping< _Key, _ValueSuperType > Class Template Reference

Implementation of dynamic scoping. More...

#include <DynamicScoping.h>

Classes

class  Binding
 Automatically binds a variable to the current scope. More...
 
class  ManualBinding
 
class  SkeletalBinding
 Binding without its own copy of the data. More...
 
class  SkeletalManualBinding
 Binding with external data storage. More...
 

Public Types

typedef _Key Key
 
typedef _ValueSuperType ValueSuperType
 
typedef SkippingIterator< typename Map::const_iterator, IsSecondNull > Iterator
 Skips entries that are not set. More...
 
typedef PairFirstIterator< IteratorKeyIterator
 

Public Member Functions

const ValueSuperTypeoperator[] (const Key &key)
 
Iterator Begin () const
 
Iterator End () const
 
KeyIterator KeyBegin ()
 
KeyIterator KeyEnd ()
 

Detailed Description

template<class _Key, class _ValueSuperType = void>
class molecular::util::DynamicScoping< _Key, _ValueSuperType >

Implementation of dynamic scoping.

As opposed to static (lexical) scoping used in C/C++. Shallow binding.

Member Typedef Documentation

template<class _Key, class _ValueSuperType = void>
typedef SkippingIterator<typename Map::const_iterator, IsSecondNull> molecular::util::DynamicScoping< _Key, _ValueSuperType >::Iterator

Skips entries that are not set.

template<class _Key, class _ValueSuperType = void>
typedef _Key molecular::util::DynamicScoping< _Key, _ValueSuperType >::Key
template<class _Key, class _ValueSuperType = void>
typedef PairFirstIterator<Iterator> molecular::util::DynamicScoping< _Key, _ValueSuperType >::KeyIterator
template<class _Key, class _ValueSuperType = void>
typedef _ValueSuperType molecular::util::DynamicScoping< _Key, _ValueSuperType >::ValueSuperType

Member Function Documentation

template<class _Key, class _ValueSuperType = void>
Iterator molecular::util::DynamicScoping< _Key, _ValueSuperType >::Begin ( ) const
inline
template<class _Key, class _ValueSuperType = void>
Iterator molecular::util::DynamicScoping< _Key, _ValueSuperType >::End ( ) const
inline
template<class _Key, class _ValueSuperType = void>
KeyIterator molecular::util::DynamicScoping< _Key, _ValueSuperType >::KeyBegin ( )
inline
template<class _Key, class _ValueSuperType = void>
KeyIterator molecular::util::DynamicScoping< _Key, _ValueSuperType >::KeyEnd ( )
inline
template<class _Key, class _ValueSuperType = void>
const ValueSuperType* molecular::util::DynamicScoping< _Key, _ValueSuperType >::operator[] ( const Key key)
inline

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