mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-07 17:29:36 +00:00
1
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//
|
||||
// Utilities for globally unique IDs
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef UNIQUEID_H
|
||||
#define UNIQUEID_H
|
||||
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "tier1/utlvector.h"
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Forward declarations
|
||||
//-----------------------------------------------------------------------------
|
||||
struct UniqueId_t;
|
||||
class CUtlBuffer;
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Defines a globally unique ID
|
||||
//-----------------------------------------------------------------------------
|
||||
struct UniqueId_t
|
||||
{
|
||||
unsigned char m_Value[16];
|
||||
};
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Methods related to unique ids
|
||||
//-----------------------------------------------------------------------------
|
||||
void CreateUniqueId( UniqueId_t *pDest );
|
||||
void InvalidateUniqueId( UniqueId_t *pDest );
|
||||
bool IsUniqueIdValid( const UniqueId_t &id );
|
||||
bool IsUniqueIdEqual( const UniqueId_t &id1, const UniqueId_t &id2 );
|
||||
void UniqueIdToString( const UniqueId_t &id, char *pBuf, int nMaxLen );
|
||||
bool UniqueIdFromString( UniqueId_t *pDest, const char *pBuf, int nMaxLen = 0 );
|
||||
void CopyUniqueId( const UniqueId_t &src, UniqueId_t *pDest );
|
||||
bool Serialize( CUtlBuffer &buf, const UniqueId_t &src );
|
||||
bool Unserialize( CUtlBuffer &buf, UniqueId_t &dest );
|
||||
|
||||
inline bool operator ==( const UniqueId_t& lhs, const UniqueId_t& rhs )
|
||||
{
|
||||
return !Q_memcmp( (void *)&lhs.m_Value[ 0 ], (void *)&rhs.m_Value[ 0 ], sizeof( lhs.m_Value ) );
|
||||
}
|
||||
|
||||
|
||||
#endif // UNIQUEID_H
|
||||
|
||||
Reference in New Issue
Block a user