00001 #if !defined(__ASSOCIATIVEITERATOR_HPP)
00002 #define __ASSOCIATIVEITERATOR_HPP
00003
00004 /*
00005 CoreLinux++
00006 Copyright (C) 2000 CoreLinux Consortium
00007
00008 The CoreLinux++ Library is free software; you can redistribute it and/or
00009 modify it under the terms of the GNU Library General Public License as
00010 published by the Free Software Foundation; either version 2 of the
00011 License, or (at your option) any later version.
00012
00013 The CoreLinux++ Library Library is distributed in the hope that it will
00014 be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00016 Library General Public License for more details.
00017
00018 You should have received a copy of the GNU Library General Public
00019 License along with the GNU C Library; see the file COPYING.LIB. If not,
00020 write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00021 Boston, MA 02111-1307, USA.
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 // Constructors and destructor
00050 //
00051
00053
00054 AssociativeIterator( void )
00055 :
00056 Iterator<ElementType>()
00057 {
00058 ; // do nothing
00059 }
00060
00066 AssociativeIterator( const AssociativeIterator &aRef )
00067 :
00068 Iterator<ElementType>( aRef )
00069 {
00070 ; // do nothing
00071 }
00072
00074
00075 virtual ~AssociativeIterator( void )
00076 {
00077 ; // do nothing
00078 }
00079
00080 //
00081 // Operator overloads
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 // Accessors
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 Common rcs information do not modify
00129 $Author: prudhomm $
00130 $Revision: 1.1 $
00131 $Date: 2000/04/23 20:43:13 $
00132 $Locker: $
00133 */
00134
00135