cHashSetWatcher< T > Class Template Reference

#include <hashWatch.h>

List of all members.

template<class T>
class cHashSetWatcher< T >


Public Member Functions

 cHashSetWatcher (const char *name, __gnu_cxx::hash_set< T > &var)
const char * className () const
virtual const char * elemTypeName () const
virtual int size () const
virtual std::string at (int i) const
virtual std::string atIt () const

Protected Attributes

__gnu_cxx::hash_set
< T > & 
v
std::string classname
__gnu_cxx::hash_set
< T >::iterator 
it
int itPos

Constructor & Destructor Documentation

template<class T>
cHashSetWatcher< T >::cHashSetWatcher ( const char *  name,
__gnu_cxx::hash_set< T > &  var 
) [inline]

00042                                                                      : cStdVectorWatcherBase(name), v(var) {
00043             itPos=-1;
00044             classname = std::string("ext::hash_set<")+opp_typename(typeid(T))+">";
00045         }


Member Function Documentation

template<class T>
const char* cHashSetWatcher< T >::className (  )  const [inline]

00046 {return classname.c_str();}

template<class T>
virtual const char* cHashSetWatcher< T >::elemTypeName (  )  const [inline, virtual]

00047 {return opp_typename(typeid(T));}

template<class T>
virtual int cHashSetWatcher< T >::size (  )  const [inline, virtual]

00048 {return v.size();}

template<class T>
virtual std::string cHashSetWatcher< T >::at ( int  i  )  const [inline, virtual]

00049                                           {
00050             if (i==0) {
00051                 it=v.begin(); itPos=0;
00052             } else if (i==itPos+1 && it!=v.end()) {
00053                 ++it; ++itPos;
00054             } else {
00055                 it=v.begin();
00056                 for (int k=0; k<i && it!=v.end(); k++) ++it;
00057                 itPos=i;
00058             }
00059             if (it==v.end()) {
00060                 return std::string("out of bounds");
00061             }
00062             return atIt();
00063         }

template<class T>
virtual std::string cHashSetWatcher< T >::atIt (  )  const [inline, virtual]

00064                                        {
00065             std::stringstream out;
00066             out << (*it);
00067             return out.str();
00068         }


Member Data Documentation

template<class T>
__gnu_cxx::hash_set<T>& cHashSetWatcher< T >::v [protected]

template<class T>
std::string cHashSetWatcher< T >::classname [protected]

template<class T>
__gnu_cxx::hash_set<T>::iterator cHashSetWatcher< T >::it [mutable, protected]

template<class T>
int cHashSetWatcher< T >::itPos [mutable, protected]


The documentation for this class was generated from the following file:
Generated on Thu Apr 17 13:19:28 2008 for ITM OverSim by  doxygen 1.5.3