mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-21 03:29:40 +00:00
38 lines
589 B
C
38 lines
589 B
C
|
#ifndef REG_COLOR_MAP
|
||
|
#define REG_COLOR_MAP
|
||
|
|
||
|
#include <hash_map>
|
||
|
|
||
|
|
||
|
#ifndef VALUE_SET_H
|
||
|
|
||
|
struct hashFuncValue { // sturcture containing the hash func
|
||
|
inline size_t operator () (const Value *const val) const
|
||
|
{ return (size_t) val; }
|
||
|
};
|
||
|
|
||
|
#endif
|
||
|
|
||
|
|
||
|
typedef int RegColorType;
|
||
|
|
||
|
|
||
|
class RegColorMap : hash_map <const Value *, RegColorType, hashFuncValue>
|
||
|
{
|
||
|
|
||
|
public:
|
||
|
|
||
|
inline void setRegColor(const Value *const Val, RegColorType Col) {
|
||
|
(*this)[Val] = Col;
|
||
|
}
|
||
|
|
||
|
|
||
|
inline RegColorType getRegColor(const Value *const Val) {
|
||
|
return (*this)[Val];
|
||
|
}
|
||
|
|
||
|
|
||
|
};
|
||
|
|
||
|
#endif
|