/[ghosts]/ghosts/gedcomparser/src/GEDCOMParser/IdGenerator.hh
ViewVC logotype

Diff of /ghosts/gedcomparser/src/GEDCOMParser/IdGenerator.hh

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by cpcp, Tue Feb 18 21:43:31 2003 UTC revision 1.2 by cpcp, Wed Feb 19 21:13:05 2003 UTC
# Line 34  class IdGenerator Line 34  class IdGenerator
34  {  {
35  public:  public:
36    virtual ~IdGenerator(void) {};    virtual ~IdGenerator(void) {};
37    static std::string const getId(void);    std::string const getId(void);
38    static void addUsedId(std::string const &id);    void addUsedId(std::string const &id);
39  private:  private:
40    static std::vector < std::string > _existing_ids;    std::vector < std::string > _existing_ids;
41    static int _last_used_id;    int _last_used_id;
42  };  };
   std::vector < std::string > GEDCOMParser::IdGenerator::_existing_ids;  
   int GEDCOMParser::IdGenerator::_last_used_id = 0;  
   std::string const GEDCOMParser::IdGenerator::getId(void)  
   {  
     std::string res;  
     std::string tmp_str_id;  
     do  
       {  
         _last_used_id++;  
         tmp_str_id = toString<int>(_last_used_id);  
       }  
     while (std::find(_existing_ids.begin(), _existing_ids.end(), tmp_str_id) != _existing_ids.end());  
     res = "@" + tmp_str_id + "@";  
     std::cout << "IdGenerator::getId() => " << res << std::endl;  
     return res;  
   }  
   
   void GEDCOMParser::IdGenerator::addUsedId(std::string const &id)  
   {  
     std::cout << "IdGenerator::addUsedId(" << id << ")" << std::endl;  
     _existing_ids.push_back(id);  
     return;  
   }  
43  };  };
44    
45    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26