[ox] Fix for MSVC

This commit is contained in:
2022-03-12 11:48:58 -06:00
parent c6780e41dd
commit 0739c7d611
10 changed files with 31 additions and 15 deletions

View File

@@ -112,7 +112,7 @@ class Vector: detail::VectorAllocator<T, SmallVectorSize> {
using size_type = std::size_t;
template<typename RefType = T&, typename PtrType = T*, bool reverse = false>
struct iterator: public std::iterator<std::bidirectional_iterator_tag, T> {
struct iterator: public Iterator<std::bidirectional_iterator_tag, T> {
private:
PtrType m_t = nullptr;
size_type m_offset = 0;
@@ -609,12 +609,12 @@ constexpr void Vector<T, SmallVectorSize>::pop_back() {
}
template<typename T, std::size_t SmallVectorSize>
constexpr Result<typename Vector<T, SmallVectorSize>::template iterator<>> Vector<T, SmallVectorSize>::erase(const iterator<> &pos) {
constexpr Result<typename Vector<T, SmallVectorSize>::template iterator<T&, T*, false>> Vector<T, SmallVectorSize>::erase(const iterator<> &pos) {
return erase(pos.offset());
}
template<typename T, std::size_t SmallVectorSize>
constexpr Result<typename Vector<T, SmallVectorSize>::template iterator<>> Vector<T, SmallVectorSize>::erase(std::size_t pos) {
constexpr Result<typename Vector<T, SmallVectorSize>::template iterator<T&, T*, false>> Vector<T, SmallVectorSize>::erase(std::size_t pos) {
if (pos >= m_size) {
return OxError(1, "Vector::erase failed: pos is greater than Vector size");
}