GME
13
|
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 };