[ox/claw] Add Claw
This commit is contained in:
10
deps/ox/src/ox/mc/write.hpp
vendored
10
deps/ox/src/ox/mc/write.hpp
vendored
@@ -14,6 +14,7 @@
|
||||
#include <ox/std/byteswap.hpp>
|
||||
#include <ox/std/string.hpp>
|
||||
#include <ox/std/types.hpp>
|
||||
#include <ox/std/units.hpp>
|
||||
#include <ox/std/vector.hpp>
|
||||
|
||||
#include "intops.hpp"
|
||||
@@ -183,6 +184,15 @@ void MetalClawWriter::setTypeInfo(const char*, int fields) {
|
||||
memset(m_buff, 0, m_buffIt);
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
ValErr<Vector<char>> writeMC(T *val) {
|
||||
Vector<char> buff(10 * units::MB);
|
||||
MetalClawWriter writer(bit_cast<uint8_t*>(buff.data()), buff.size());
|
||||
oxReturnError(model(&writer, val));
|
||||
buff.resize(writer.size());
|
||||
return buff;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
Error writeMC(uint8_t *buff, std::size_t buffLen, T *val, std::size_t *sizeOut = nullptr) {
|
||||
MetalClawWriter writer(buff, buffLen);
|
||||
|
||||
Reference in New Issue
Block a user