00001 #if !defined(__ASSOCIATIVEITERATOR_HPP)
00002 #define __ASSOCIATIVEITERATOR_HPP
00003
00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022
00023
00024 #if !defined(__COMMON_HPP)
00025 #include <Common.hpp>
00026 #endif
00027
00028 #if !defined(__ITERATOR_HPP)
00029 #include <Iterator.hpp>
00030 #endif
00031
00032 namespace corelinux
00033 {
00034
00043 template< class KeyType, class ElementType >
00044 class AssociativeIterator : public Iterator<ElementType>
00045 {
00046 public:
00047
00048
00049
00050
00051
00053
00054 AssociativeIterator( void )
00055 :
00056 Iterator<ElementType>()
00057 {
00058 ;
00059 }
00060
00066 AssociativeIterator( const AssociativeIterator &aRef )
00067 :
00068 Iterator<ElementType>( aRef )
00069 {
00070 ;
00071 }
00072
00074
00075 virtual ~AssociativeIterator( void )
00076 {
00077 ;
00078 }
00079
00080
00081
00082
00083
00090 AssociativeIterator & operator=( const AssociativeIterator & )
00091 {
00092 return (*this);
00093 }
00094
00101 bool operator==( const AssociativeIterator & aRef ) const
00102 {
00103 return (this == &aRef);
00104 }
00105
00106
00107
00108
00109
00110
00119 virtual KeyType getKey( void )
00120 const throw(IteratorBoundsException) = 0;
00121
00122 };
00123 }
00124
00125 #endif // if !defined(__ASSOCIATIVEITERATOR_HPP)
00126
00127 00128 00129 00130 00131 00132 00133
00134
00135