Something went wrong. Try again.
OpenMW is an open implementation of the Morrowind engine
Something went wrong. Try again.
1.2 kB · 36 lines
C++
12345678910111213141516171819202122232425262728293031323334353637#include "indexrefid.hpp"
#include "serializerefid.hpp"
#include <ostream>
namespace ESM{ std::string IndexRefId::toString() const { std::string result; constexpr std::size_t separator = 1; result.resize(sizeof(mRecordType) + separator + getHexIntegralSizeWith0x(mValue), '\0'); std::memcpy(result.data(), &mRecordType, sizeof(mRecordType)); result[sizeof(mRecordType)] = ':'; serializeHexIntegral(mValue, sizeof(mRecordType) + separator, result); return result; }
std::string IndexRefId::toDebugString() const { std::string result; constexpr std::size_t separator = 1; serializeRefIdPrefix( sizeof(mRecordType) + separator + getHexIntegralSizeWith0x(mValue), indexRefIdPrefix, result); std::memcpy(result.data() + indexRefIdPrefix.size(), &mRecordType, sizeof(mRecordType)); result[indexRefIdPrefix.size() + sizeof(mRecordType)] = ':'; serializeHexIntegral(mValue, indexRefIdPrefix.size() + sizeof(mRecordType) + separator, result); return result; }
std::ostream& operator<<(std::ostream& stream, IndexRefId value) { return stream << value.toDebugString(); }}