[ox] Fix some template issue that come up with some versions of Clang, fix empty string read in OC
This commit is contained in:
12
deps/ox/src/ox/preloader/preloader.hpp
vendored
12
deps/ox/src/ox/preloader/preloader.hpp
vendored
@@ -15,7 +15,6 @@
|
||||
#include <ox/std/units.hpp>
|
||||
#include <ox/model/modelhandleradaptor.hpp>
|
||||
|
||||
#include "preloader.hpp"
|
||||
#include "platspecs.hpp"
|
||||
|
||||
namespace ox {
|
||||
@@ -24,7 +23,7 @@ template<typename PlatSpec>
|
||||
class Preloader;
|
||||
|
||||
template<typename PlatSpec>
|
||||
class Preloader: public ModelHandlerBase<Preloader<PlatSpec>> {
|
||||
class Preloader: public ModelHandlerBase<Preloader<PlatSpec>, OpType::Reflect> {
|
||||
private:
|
||||
using PtrType = typename PlatSpec::PtrType;
|
||||
static constexpr auto PtrSize = sizeof(PtrType);
|
||||
@@ -115,11 +114,6 @@ class Preloader: public ModelHandlerBase<Preloader<PlatSpec>> {
|
||||
return m_buff;
|
||||
}
|
||||
|
||||
[[nodiscard]]
|
||||
static constexpr auto opType() noexcept {
|
||||
return ox::OpType::Write;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
constexpr ox::Error pad(const T*) noexcept;
|
||||
|
||||
@@ -272,7 +266,7 @@ constexpr ox::Error Preloader<PlatSpec>::endAlloc() noexcept {
|
||||
return m_writer.seekp(0, ox::ios_base::end);
|
||||
}
|
||||
const auto &si = *m_allocStack.back().unwrap();
|
||||
oxReturnError(m_writer.seekp(si.restore, si.seekdir));
|
||||
oxReturnError(m_writer.seekp(static_cast<ox::ssize_t>(si.restore), si.seekdir));
|
||||
m_allocStack.pop_back();
|
||||
return {};
|
||||
}
|
||||
@@ -364,4 +358,6 @@ constexpr ox::Error preload(Preloader<PlatSpec> *pl, ox::CommonPtrWith<T> auto *
|
||||
return pl->pad(obj);
|
||||
}
|
||||
|
||||
extern template class Preloader<NativePlatSpec>;
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user