mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-12-28 21:54:40 +03:00
AK: Make Nonnull*PtrVector use size_t for indexes
This was weird. It turns out these class were using int indexes and sizes despite being derived from Vector which uses size_t. Make the universe right again by using size_t here as well.
This commit is contained in:
parent
46efd2f741
commit
81c6d8e98e
Notes:
sideshowbarker
2024-07-18 22:05:34 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/81c6d8e98ee
@ -108,10 +108,10 @@ class NonnullRefPtr;
|
||||
template<typename T>
|
||||
class NonnullOwnPtr;
|
||||
|
||||
template<typename T, int inline_capacity = 0>
|
||||
template<typename T, size_t inline_capacity = 0>
|
||||
class NonnullRefPtrVector;
|
||||
|
||||
template<typename T, int inline_capacity = 0>
|
||||
template<typename T, size_t inline_capacity = 0>
|
||||
class NonnullOwnPtrVector;
|
||||
|
||||
template<typename T>
|
||||
|
@ -31,7 +31,7 @@
|
||||
|
||||
namespace AK {
|
||||
|
||||
template<typename T, int inline_capacity>
|
||||
template<typename T, size_t inline_capacity>
|
||||
class NonnullOwnPtrVector : public NonnullPtrVector<NonnullOwnPtr<T>, inline_capacity> {
|
||||
};
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
|
||||
* Copyright (c) 2018-2021, Andreas Kling <kling@serenityos.org>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -30,7 +30,7 @@
|
||||
|
||||
namespace AK {
|
||||
|
||||
template<typename PtrType, int inline_capacity = 0>
|
||||
template<typename PtrType, size_t inline_capacity = 0>
|
||||
class NonnullPtrVector : public Vector<PtrType, inline_capacity> {
|
||||
using T = typename PtrType::ElementType;
|
||||
using Base = Vector<PtrType, inline_capacity>;
|
||||
@ -60,13 +60,13 @@ public:
|
||||
ALWAYS_INLINE constexpr ConstIterator end() const { return ConstIterator::end(*this); }
|
||||
ALWAYS_INLINE constexpr Iterator end() { return Iterator::end(*this); }
|
||||
|
||||
ALWAYS_INLINE PtrType& ptr_at(int index) { return Base::at(index); }
|
||||
ALWAYS_INLINE const PtrType& ptr_at(int index) const { return Base::at(index); }
|
||||
ALWAYS_INLINE PtrType& ptr_at(size_t index) { return Base::at(index); }
|
||||
ALWAYS_INLINE const PtrType& ptr_at(size_t index) const { return Base::at(index); }
|
||||
|
||||
ALWAYS_INLINE T& at(int index) { return *Base::at(index); }
|
||||
ALWAYS_INLINE const T& at(int index) const { return *Base::at(index); }
|
||||
ALWAYS_INLINE T& operator[](int index) { return at(index); }
|
||||
ALWAYS_INLINE const T& operator[](int index) const { return at(index); }
|
||||
ALWAYS_INLINE T& at(size_t index) { return *Base::at(index); }
|
||||
ALWAYS_INLINE const T& at(size_t index) const { return *Base::at(index); }
|
||||
ALWAYS_INLINE T& operator[](size_t index) { return at(index); }
|
||||
ALWAYS_INLINE const T& operator[](size_t index) const { return at(index); }
|
||||
ALWAYS_INLINE T& first() { return at(0); }
|
||||
ALWAYS_INLINE const T& first() const { return at(0); }
|
||||
ALWAYS_INLINE T& last() { return at(size() - 1); }
|
||||
@ -76,7 +76,7 @@ private:
|
||||
// NOTE: You can't use resize() on a NonnullFooPtrVector since making the vector
|
||||
// bigger would require being able to default-construct NonnullFooPtrs.
|
||||
// Instead, use shrink(new_size).
|
||||
void resize(int) = delete;
|
||||
void resize(size_t) = delete;
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -31,7 +31,7 @@
|
||||
|
||||
namespace AK {
|
||||
|
||||
template<typename T, int inline_capacity>
|
||||
template<typename T, size_t inline_capacity>
|
||||
class NonnullRefPtrVector : public NonnullPtrVector<NonnullRefPtr<T>, inline_capacity> {
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user