Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

IdKey.h

Go to the documentation of this file.
00001 // $Header: /nfs/slac/g/glast/ground/cvs/xmlUtil/xmlUtil/id/IdKey.h,v 1.3 2002/01/03 21:07:27 jrb Exp $
00002 #ifndef XMLUTIL_IDKEY_H
00003 #define XMLUTIL_IDKEY_H
00004 
00005 #include <vector>
00006 #include <deque>
00007 #include <string>
00008 #include <iterator>
00009 #include "xmlUtil/id/Identifier.h"
00010 
00011 namespace xmlUtil {
00012 
00015   class IdKey {
00016   public:
00018     IdKey(const Identifier id);
00019 
00021     IdKey(const std::deque<unsigned int> id);
00022 
00023     IdKey() {}
00024 
00025     /*
00026        Construct an IdKey from an identifier whose fields are expressed
00027        as strings         NYI
00028           IdKey(const std::vector<std::string>&);  
00029        Do we also want to go the other direction? (IdKey to std::string)
00030    */
00031 
00032     ~IdKey();
00033 
00035     class ltkey { 
00036     public:
00037       bool operator()(IdKey key1, IdKey key2) const;
00038     };
00039     friend  class ltkey;       
00040 
00041   private:
00045     template<class Container>
00046     void fillFrom(const Container& con);
00047 
00048     typedef std::vector<unsigned int>::const_iterator KeyIt;
00050     std::vector<unsigned int> m_key; 
00051   };
00052 }
00053 
00054 
00055         
00056 
00057 
00058                       
00059 #endif

Generated on Wed Oct 16 14:02:48 2002 by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001