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
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135