2022-05-01 23:03:20 +02:00
|
|
|
//============ Copyright Valve Corporation, All rights reserved. ============//
|
|
|
|
//
|
|
|
|
// Purpose: A dictionary mapping from symbol to structure
|
|
|
|
//
|
|
|
|
// $Header: $
|
|
|
|
// $NoKeywords: $
|
|
|
|
//===========================================================================//
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
template <class T, class I>
|
|
|
|
class CUtlDict
|
|
|
|
{
|
|
|
|
public:
|
2022-05-06 02:32:25 +02:00
|
|
|
CUtlDict() {};
|
2022-05-01 23:03:20 +02:00
|
|
|
CUtlDict<T, I>(uintptr_t ptr) : m_Elements(ptr) {};
|
2022-05-06 02:32:25 +02:00
|
|
|
T Find(I entry);
|
2022-05-01 23:03:20 +02:00
|
|
|
|
|
|
|
private:
|
|
|
|
uintptr_t m_Elements;
|
|
|
|
};
|
|
|
|
|
|
|
|
template <class T, class I>
|
2022-05-06 02:32:25 +02:00
|
|
|
T CUtlDict<T, I>::Find(I entry)
|
2022-05-01 23:03:20 +02:00
|
|
|
{
|
|
|
|
return *(T*)(m_Elements + 24 * entry + 16);
|
|
|
|
}
|