50 lines
1.2 KiB
C
50 lines
1.2 KiB
C
![]() |
/////////////////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// FILE : uiPageId.h
|
||
|
// PURPOSE : Represents an ID of a page in the page deck system.
|
||
|
// Currently an extension of atHashString just to avoid bad type munging
|
||
|
//
|
||
|
// AUTHOR : james.strain
|
||
|
// STARTED : November 2020
|
||
|
//
|
||
|
/////////////////////////////////////////////////////////////////////////////////
|
||
|
#ifndef UI_PAGE_ID_H
|
||
|
#define UI_PAGE_ID_H
|
||
|
|
||
|
// rage
|
||
|
#include "atl/hashstring.h"
|
||
|
#include "atl/map.h"
|
||
|
|
||
|
class uiPageId : protected rage::atHashString
|
||
|
{
|
||
|
typedef rage::atHashString superclass;
|
||
|
public:
|
||
|
uiPageId() : superclass() {}
|
||
|
explicit uiPageId( u32 const hashCode ) : superclass( hashCode ) {}
|
||
|
|
||
|
static uiPageId Null()
|
||
|
{
|
||
|
return uiPageId();
|
||
|
}
|
||
|
|
||
|
atHashString GetAsHashString() const
|
||
|
{
|
||
|
return atHashString( GetHash() );
|
||
|
}
|
||
|
|
||
|
using superclass::GetHash;
|
||
|
using superclass::TryGetCStr;
|
||
|
using superclass::IsNull;
|
||
|
using superclass::IsNotNull;
|
||
|
|
||
|
bool operator ==( const class uiPageId& op ) const { return GetHash() == op.GetHash(); }
|
||
|
};
|
||
|
|
||
|
template <>
|
||
|
struct atMapHashFn<uiPageId>
|
||
|
{
|
||
|
unsigned operator ()( const uiPageId& key ) const { return key.GetHash(); }
|
||
|
};
|
||
|
|
||
|
#endif // UI_PAGE_ID_H
|