#include "output.hpp" #include namespace binparse { std::string to_string(Magic16 magic) { char* c = reinterpret_cast(&magic); return std::string(c, sizeof(Magic16)); } std::ostream& operator<<(std::ostream& os, uint8_t i) { return os << (unsigned int) i; } std::ostream& operator<<(std::ostream& os, Value8 v) { return os << std::dec << static_cast(v); } std::ostream& operator<<(std::ostream& os, Offset8 o) { return os << std::hex << std::setw(2) << std::setfill('0') << static_cast(o); } std::ostream& operator<<(std::ostream& os, Magic16 m) { return os << std::hex << std::setw(4) << std::setfill('0') << static_cast(m) << " (" << to_string(m) << ")"; } std::ostream& operator<<(std::ostream& os, Value16 v) { return os << std::dec << static_cast(v); } std::ostream& operator<<(std::ostream& os, Offset16 o) { return os << std::hex << std::setw(sizeof(o) * 2) << std::setfill('0') << static_cast(o); } std::ostream& operator<<(std::ostream& os, Value32 v) { return os << std::dec << static_cast(v); } std::ostream& operator<<(std::ostream& os, Offset32 o) { return os << std::hex << std::setw(sizeof(o) * 2) << std::setfill('0') << static_cast(o); } std::ostream&operator<<(std::ostream& os, std::array a) { return os; } std::ostream&operator<<(std::ostream& os, std::array a) { return os; } std::ostream&operator<<(std::ostream& os, std::vector vec) { return os; } }