[ox] Correct bad bit_cast uses and improve constexpr-ness
This commit is contained in:
16
deps/ox/src/ox/mc/write.hpp
vendored
16
deps/ox/src/ox/mc/write.hpp
vendored
@@ -107,7 +107,7 @@ Error MetalClawWriter::field(const char*, T *val) noexcept {
|
||||
fieldSet = true;
|
||||
}
|
||||
}
|
||||
oxReturnError(m_fieldPresence.set(m_field, fieldSet));
|
||||
oxReturnError(m_fieldPresence.set(static_cast<std::size_t>(m_field), fieldSet));
|
||||
m_field++;
|
||||
return OxError(0);
|
||||
}
|
||||
@@ -124,7 +124,7 @@ Error MetalClawWriter::field(const char*, UnionView<U> val) noexcept {
|
||||
fieldSet = true;
|
||||
}
|
||||
}
|
||||
oxReturnError(m_fieldPresence.set(m_field, fieldSet));
|
||||
oxReturnError(m_fieldPresence.set(static_cast<std::size_t>(m_field), fieldSet));
|
||||
m_field++;
|
||||
return OxError(0);
|
||||
}
|
||||
@@ -155,7 +155,7 @@ Error MetalClawWriter::field(const char*, T *val, std::size_t len) noexcept {
|
||||
fieldSet = true;
|
||||
}
|
||||
|
||||
oxReturnError(m_fieldPresence.set(m_field, fieldSet));
|
||||
oxReturnError(m_fieldPresence.set(static_cast<std::size_t>(m_field), fieldSet));
|
||||
m_field++;
|
||||
return OxError(0);
|
||||
}
|
||||
@@ -194,7 +194,7 @@ Error MetalClawWriter::field(const char*, HashMap<String, T> *val) noexcept {
|
||||
fieldSet = true;
|
||||
}
|
||||
|
||||
oxReturnError(m_fieldPresence.set(m_field, fieldSet));
|
||||
oxReturnError(m_fieldPresence.set(static_cast<std::size_t>(m_field), fieldSet));
|
||||
m_field++;
|
||||
return OxError(0);
|
||||
}
|
||||
@@ -212,7 +212,7 @@ Error MetalClawWriter::appendInteger(I val) noexcept {
|
||||
return OxError(MC_BUFFENDED);
|
||||
}
|
||||
}
|
||||
oxReturnError(m_fieldPresence.set(m_field, fieldSet));
|
||||
oxReturnError(m_fieldPresence.set(static_cast<std::size_t>(m_field), fieldSet));
|
||||
m_field++;
|
||||
return OxError(0);
|
||||
}
|
||||
@@ -221,14 +221,14 @@ template<typename T>
|
||||
void MetalClawWriter::setTypeInfo(const char*, int fields) noexcept {
|
||||
m_fields = fields;
|
||||
m_fieldPresence.setFields(fields);
|
||||
m_buffIt = m_fieldPresence.getMaxLen();
|
||||
m_buffIt = static_cast<std::size_t>(m_fieldPresence.getMaxLen());
|
||||
ox_memset(m_buff, 0, m_buffIt);
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
Result<Buffer> writeMC(T *val) noexcept {
|
||||
Buffer buff(10 * units::MB);
|
||||
MetalClawWriter writer(bit_cast<uint8_t*>(buff.data()), buff.size());
|
||||
MetalClawWriter writer(reinterpret_cast<uint8_t*>(buff.data()), buff.size());
|
||||
oxReturnError(model(&writer, val));
|
||||
buff.resize(writer.size());
|
||||
return move(buff);
|
||||
@@ -236,7 +236,7 @@ Result<Buffer> writeMC(T *val) noexcept {
|
||||
|
||||
template<typename T>
|
||||
Error writeMC(char *buff, std::size_t buffLen, T *val, std::size_t *sizeOut = nullptr) noexcept {
|
||||
MetalClawWriter writer(bit_cast<uint8_t*>(buff), buffLen);
|
||||
MetalClawWriter writer(reinterpret_cast<uint8_t*>(buff), buffLen);
|
||||
auto err = model(&writer, val);
|
||||
if (sizeOut) {
|
||||
*sizeOut = writer.size();
|
||||
|
||||
Reference in New Issue
Block a user