#ifndef ROOT_TUUID
#define ROOT_TUUID
#ifdef WIN32
#undef GetCurrentTime
#endif
#ifndef ROOT_Rtypes
#include "Rtypes.h"
#endif
class TBuffer;
class TFile;
class TDirectory;
class TInetAddress;
class TDatime;
class TUUID {
protected:
   UInt_t    fUUIDIndex;             
   UInt_t    fTimeLow;               
   UShort_t  fTimeMid;               
   UShort_t  fTimeHiAndVersion;      
   UChar_t   fClockSeqHiAndReserved; 
   UChar_t   fClockSeqLow;           
   UChar_t   fNode[6];               
   struct uuid_time_t {
      UInt_t high;
      UInt_t low;
   };
   Int_t CmpTime(uuid_time_t *t1, uuid_time_t *t2);
   void  Format(UShort_t clockseq, uuid_time_t ts);
   void  GetNodeIdentifier();
   void  GetCurrentTime(uuid_time_t *timestamp);
   void  GetSystemTime(uuid_time_t *timestamp);
   void  GetRandomInfo(UChar_t seed[16]);
   void  SetFromString(const char *uuid_str);
public:
   TUUID();
   TUUID(const char *uuid_str);
   virtual ~TUUID();
   const char  *AsString() const;
   Int_t        Compare(const TUUID &u) const;
   UShort_t     Hash() const;
   void         Print() const;
   TInetAddress GetHostAddress() const;
   TDatime      GetTime() const;
   void         GetUUID(UChar_t uuid[16]) const;
   void         SetUUID(const char *uuid_str);
   UInt_t       GetUUIDNumber() const { return fUUIDIndex; }
   void         SetUUIDNumber(UInt_t index) { fUUIDIndex = index; }
   void         StreamerV1(TBuffer &b);
   void         FillBuffer(char *&buffer);
   void         ReadBuffer(char *&buffer);
   Int_t        Sizeof() const { return 18; }
   ClassDef(TUUID,1)  
};
inline TBuffer &operator>>(TBuffer &buf, TUUID &uuid)
{ uuid.Streamer(buf); return buf; }
inline TBuffer &operator<<(TBuffer &buf, const TUUID &uuid)
{ ((TUUID&)uuid).Streamer(buf); return buf; }
inline Bool_t operator==(const TUUID &u1, const TUUID &u2)
{ return (!u1.Compare(u2)) ? kTRUE : kFALSE; }
inline Bool_t operator!=(const TUUID &u1, const TUUID &u2)
{ return !(u1 == u2); }
#endif
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.