[ox/{mc,oc}] Improve noexcept correctness
This commit is contained in:
46
deps/ox/src/ox/mc/write.hpp
vendored
46
deps/ox/src/ox/mc/write.hpp
vendored
@@ -42,23 +42,23 @@ class MetalClawWriter {
|
||||
|
||||
~MetalClawWriter() noexcept;
|
||||
|
||||
Error field(const char*, int8_t *val) noexcept;
|
||||
Error field(const char*, int16_t *val) noexcept;
|
||||
Error field(const char*, int32_t *val) noexcept;
|
||||
Error field(const char*, int64_t *val) noexcept;
|
||||
Error field(const char*, const int8_t *val) noexcept;
|
||||
Error field(const char*, const int16_t *val) noexcept;
|
||||
Error field(const char*, const int32_t *val) noexcept;
|
||||
Error field(const char*, const int64_t *val) noexcept;
|
||||
|
||||
Error field(const char*, uint8_t *val) noexcept;
|
||||
Error field(const char*, uint16_t *val) noexcept;
|
||||
Error field(const char*, uint32_t *val) noexcept;
|
||||
Error field(const char*, uint64_t *val) noexcept;
|
||||
Error field(const char*, const uint8_t *val) noexcept;
|
||||
Error field(const char*, const uint16_t *val) noexcept;
|
||||
Error field(const char*, const uint32_t *val) noexcept;
|
||||
Error field(const char*, const uint64_t *val) noexcept;
|
||||
|
||||
Error field(const char*, bool *val) noexcept;
|
||||
Error field(const char*, const bool *val) noexcept;
|
||||
|
||||
template<typename T>
|
||||
Error field(const char*, T *val, std::size_t len);
|
||||
Error field(const char*, T *val, std::size_t len) noexcept;
|
||||
|
||||
template<typename T>
|
||||
Error field(const char*, HashMap<String, T> *val);
|
||||
Error field(const char*, HashMap<String, T> *val) noexcept;
|
||||
|
||||
template<std::size_t L>
|
||||
Error field(const char*, BString<L> *val) noexcept;
|
||||
@@ -66,17 +66,19 @@ class MetalClawWriter {
|
||||
Error field(const char*, SerStr val) noexcept;
|
||||
|
||||
template<typename T>
|
||||
Error field(const char*, T *val);
|
||||
Error field(const char*, T *val) noexcept;
|
||||
|
||||
template<typename U>
|
||||
Error field(const char*, UnionView<U> val);
|
||||
Error field(const char*, UnionView<U> val) noexcept;
|
||||
|
||||
template<typename T = std::nullptr_t>
|
||||
void setTypeInfo(const char *name = T::TypeName, int fields = countFields<T>());
|
||||
void setTypeInfo(const char *name = T::TypeName, int fields = countFields<T>()) noexcept;
|
||||
|
||||
[[nodiscard]]
|
||||
std::size_t size() noexcept;
|
||||
|
||||
static constexpr auto opType() {
|
||||
[[nodiscard]]
|
||||
static constexpr auto opType() noexcept {
|
||||
return OpType::Write;
|
||||
}
|
||||
|
||||
@@ -92,7 +94,7 @@ Error MetalClawWriter::field(const char *name, BString<L> *val) noexcept {
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
Error MetalClawWriter::field(const char*, T *val) {
|
||||
Error MetalClawWriter::field(const char*, T *val) noexcept {
|
||||
if constexpr(isVector_v<T>) {
|
||||
return field(nullptr, val->data(), val->size());
|
||||
} else {
|
||||
@@ -112,7 +114,7 @@ Error MetalClawWriter::field(const char*, T *val) {
|
||||
}
|
||||
|
||||
template<typename U>
|
||||
Error MetalClawWriter::field(const char*, UnionView<U> val) {
|
||||
Error MetalClawWriter::field(const char*, UnionView<U> val) noexcept {
|
||||
bool fieldSet = false;
|
||||
if (val.get() && (m_unionIdx == -1 || m_unionIdx == m_field)) {
|
||||
MetalClawWriter writer(m_buff + m_buffIt, m_buffLen - m_buffIt, val.idx());
|
||||
@@ -128,7 +130,7 @@ Error MetalClawWriter::field(const char*, UnionView<U> val) {
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
Error MetalClawWriter::field(const char*, T *val, std::size_t len) {
|
||||
Error MetalClawWriter::field(const char*, T *val, std::size_t len) noexcept {
|
||||
bool fieldSet = false;
|
||||
|
||||
if (len && (m_unionIdx == -1 || m_unionIdx == m_field)) {
|
||||
@@ -159,7 +161,7 @@ Error MetalClawWriter::field(const char*, T *val, std::size_t len) {
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
Error MetalClawWriter::field(const char*, HashMap<String, T> *val) {
|
||||
Error MetalClawWriter::field(const char*, HashMap<String, T> *val) noexcept {
|
||||
const auto &keys = val->keys();
|
||||
const auto len = keys.size();
|
||||
bool fieldSet = false;
|
||||
@@ -216,7 +218,7 @@ Error MetalClawWriter::appendInteger(I val) noexcept {
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
void MetalClawWriter::setTypeInfo(const char*, int fields) {
|
||||
void MetalClawWriter::setTypeInfo(const char*, int fields) noexcept {
|
||||
m_fields = fields;
|
||||
m_fieldPresence.setFields(fields);
|
||||
m_buffIt = m_fieldPresence.getMaxLen();
|
||||
@@ -224,7 +226,7 @@ void MetalClawWriter::setTypeInfo(const char*, int fields) {
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
Result<Buffer> writeMC(T *val) {
|
||||
Result<Buffer> writeMC(T *val) noexcept {
|
||||
Buffer buff(10 * units::MB);
|
||||
MetalClawWriter writer(bit_cast<uint8_t*>(buff.data()), buff.size());
|
||||
oxReturnError(model(&writer, val));
|
||||
@@ -233,7 +235,7 @@ Result<Buffer> writeMC(T *val) {
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
Error writeMC(char *buff, std::size_t buffLen, T *val, std::size_t *sizeOut = nullptr) {
|
||||
Error writeMC(char *buff, std::size_t buffLen, T *val, std::size_t *sizeOut = nullptr) noexcept {
|
||||
MetalClawWriter writer(bit_cast<uint8_t*>(buff), buffLen);
|
||||
auto err = model(&writer, val);
|
||||
if (sizeOut) {
|
||||
|
||||
Reference in New Issue
Block a user