mirror of
https://github.com/status-im/evmc.git
synced 2025-02-23 08:28:15 +00:00
tools: Add output stream operator for evmc_revision
This commit is contained in:
parent
fa9e3d3b30
commit
ac11122e67
@ -117,4 +117,42 @@ std::ostream& operator<<(std::ostream& os, evmc_status_code status_code)
|
||||
return os << s;
|
||||
}
|
||||
|
||||
std::ostream& operator<<(std::ostream& os, evmc_revision revision)
|
||||
{
|
||||
const char* s = nullptr;
|
||||
switch (revision)
|
||||
{
|
||||
case EVMC_FRONTIER:
|
||||
s = "Frontier";
|
||||
break;
|
||||
case EVMC_HOMESTEAD:
|
||||
s = "Homestead";
|
||||
break;
|
||||
case EVMC_TANGERINE_WHISTLE:
|
||||
s = "Tangerine Whistle";
|
||||
break;
|
||||
case EVMC_SPURIOUS_DRAGON:
|
||||
s = "Spurious Dragon";
|
||||
break;
|
||||
case EVMC_BYZANTIUM:
|
||||
s = "Byzantium";
|
||||
break;
|
||||
case EVMC_CONSTANTINOPLE:
|
||||
s = "Constantinople";
|
||||
break;
|
||||
case EVMC_PETERSBURG:
|
||||
s = "Petersburg";
|
||||
break;
|
||||
case EVMC_ISTANBUL:
|
||||
s = "Istanbul";
|
||||
break;
|
||||
case EVMC_BERLIN:
|
||||
s = "Berlin";
|
||||
break;
|
||||
default:
|
||||
throw std::invalid_argument{"invalid EVM revision: " + std::to_string(revision)};
|
||||
}
|
||||
return os << s;
|
||||
}
|
||||
|
||||
} // namespace evmc
|
||||
|
@ -33,4 +33,7 @@ std::string hex(const uint8_t* data, size_t size);
|
||||
/// Output stream operator for evmc_status_code.
|
||||
std::ostream& operator<<(std::ostream& os, evmc_status_code status_code);
|
||||
|
||||
/// Output stream operator for EVM revision.
|
||||
std::ostream& operator<<(std::ostream& os, evmc_revision revision);
|
||||
|
||||
} // namespace evmc
|
||||
|
Loading…
x
Reference in New Issue
Block a user