GME  13
DirSupplier.h
Go to the documentation of this file.
00001 #pragma once
00002 
00003 class Dir256Iterator;
00004 class Dir16Iterator;
00005 
00006 class DirSupplier
00007 {
00008         bool    m_hashed;
00009         int     m_algo;
00010 public:
00011         DirSupplier( bool p_hashed, int p_algorithm);
00012         Dir256Iterator begin256() const;
00013         Dir256Iterator end256() const;
00014 
00015         Dir16Iterator  begin16() const;
00016         Dir16Iterator  end16() const;
00017 };
00018 
00019 class Dir256Iterator
00020 {
00021         static const int m_max = 16;
00022         int m_i;
00023         int m_j;
00024         int m_algo;
00025         Dir256Iterator( bool p_endIterator = false);
00026 public:
00027         static Dir256Iterator*  createIteratorBeg();
00028         static Dir256Iterator*  createIteratorEnd();
00029         std::string             operator *( ) const;
00030         bool                    operator!=( const Dir256Iterator& p_peer) const;
00031         Dir256Iterator&         operator++( );
00032         
00033                                 operator bool( ) const;
00034         bool                    operator()   ( ) const;
00035 };
00036 
00037 class Dir16Iterator
00038 {
00039         static const int m_max = 16;
00040         int m_i;
00041         int m_algo;
00042         Dir16Iterator( bool p_endIterator = false);
00043 public:
00044         static Dir16Iterator*   createIteratorBeg();
00045         static Dir16Iterator*   createIteratorEnd();
00046         std::string             operator * ( ) const;
00047         bool                    operator !=( const Dir16Iterator& p_peer) const;
00048         Dir16Iterator&          operator ++( );
00049         
00050                                 operator bool( ) const;
00051         bool                    operator()   ( ) const;
00052 };