// -*- mode: C++; tab-width: 8; -*- // vi:ts=8 sw=4 noexpandtab autoindent /** * uuid.h * * Description: * A simple implementation of UUIDs. * * See: * http://en.wikipedia.org/wiki/Uuid * http://www.boost.org/doc/libs/1_47_0/libs/uuid/uuid.html * * Copyright 2011 Perforce Software. All rights reserved. * * This file is part of Perforce - the FAST SCM System. */ class UUID { public: enum { kDataSize = 16, // 128 bits, per RFC-4122 kStringSize = 36 // 2 hex digits per byte + 4 hyphens }; typedef unsigned char ValueType; // buffer big enough to hold the raw uuid data (implementation-dependent) typedef ValueType DataType[kDataSize]; typedef ValueType *iterator; typedef const ValueType *const_iterator; // Orthodox Canonical Form (OCF) methods UUID(); // generate a random UUID // generate UUID data as copies of "val" byte UUID( int val); UUID( const UUID &rhs); ~UUID(); const UUID & operator=( const UUID &rhs); bool operator==( const UUID &rhs) const; bool operator!=( const UUID &rhs) const; // accessors bool IsNil() const; // return the variant type of this UUID unsigned int VariantType() const; // return the version of this UUID variant unsigned int VersionType() const; // copy the raw uuid data bytes void Data(DataType &data) const; // return the size of the underlying boost uuid data static unsigned int SizeofData(); // mutators // swap the underlying uuid data bytes with rhs void Swap(UUID &rhs); // iterators iterator begin() { return &m_uuid[0]; } iterator end() { return &m_uuid[kDataSize]; } const_iterator begin() const { return &m_uuid[0]; } const_iterator end() const { return &m_uuid[kDataSize]; } // Other methods // Set "buf" to the formatted hexadecimal character representation // of this UUID. StrPtr ToStrBuf(StrBuf &buf) const; protected: private: DataType m_uuid; };
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 18760 | rlranft |
Populate -o //guest/perforce_software/p4/... //guest/rlranft/p4/.... |
||
//guest/perforce_software/p4/2014-2/support/uuid.h | |||||
#1 | 15903 | Matt Attaway | Everything should be happy now between the Workshop and the depot paths | ||
//guest/perforce_software/p4/2014_2/support/uuid.h | |||||
#1 | 15901 | Matt Attaway | Clean up code to fit modern Workshop naming standards | ||
//guest/perforce_software/p4/2014.2/support/uuid.h | |||||
#1 | 12189 | Matt Attaway | Initial (and much belated) drop of 2014.2 p4 source code |