diff options
author | koron393 <koron393@gmail.com> | 2019-09-16 01:25:06 +0900 |
---|---|---|
committer | Arian <arian.kulmer@web.de> | 2020-02-07 20:09:45 +0100 |
commit | 711a1b1a4ce5bd08a69aeca70a7b1431b3db9eda (patch) | |
tree | b6d64eff2fce14c6cb0abfbeee5c0a58e3d13520 /libshims/include/utils | |
parent | 7580d6fb6dd59a67d2fec9e320383e3287d05753 (diff) |
shinano-common: libshim_camera: Apply vector revert patches
* Back to Marshmallow
Signed-off-by: koron393 <koron393@gmail.com>
Change-Id: Ie676b55a4fef033917da4287211548b124920832
Diffstat (limited to 'libshims/include/utils')
-rw-r--r-- | libshims/include/utils/VectorImpl.h | 38 |
1 files changed, 28 insertions, 10 deletions
diff --git a/libshims/include/utils/VectorImpl.h b/libshims/include/utils/VectorImpl.h index 41b9f33..c97f97f 100644 --- a/libshims/include/utils/VectorImpl.h +++ b/libshims/include/utils/VectorImpl.h @@ -53,12 +53,12 @@ public: /*! must be called from subclasses destructor */ void finish_vector(); - VectorImpl& operator = (const VectorImpl& rhs); - + VectorImpl& operator = (const VectorImpl& rhs); + /*! C-style array access */ inline const void* arrayImpl() const { return mStorage; } void* editArrayImpl(); - + /*! vector stats */ inline size_t size() const { return mCount; } inline bool isEmpty() const { return mCount == 0; } @@ -71,7 +71,7 @@ public: ssize_t appendVector(const VectorImpl& vector); ssize_t insertArrayAt(const void* array, size_t index, size_t length); ssize_t appendArray(const void* array, size_t length); - + /*! add/insert/replace items */ ssize_t insertAt(size_t where, size_t numItems = 1); ssize_t insertAt(const void* item, size_t where, size_t numItems = 1); @@ -105,7 +105,16 @@ protected: virtual void do_splat(void* dest, const void* item, size_t num) const = 0; virtual void do_move_forward(void* dest, const void* from, size_t num) const = 0; virtual void do_move_backward(void* dest, const void* from, size_t num) const = 0; - + + virtual void reservedVectorImpl1(); + virtual void reservedVectorImpl2(); + virtual void reservedVectorImpl3(); + virtual void reservedVectorImpl4(); + virtual void reservedVectorImpl5(); + virtual void reservedVectorImpl6(); + virtual void reservedVectorImpl7(); + virtual void reservedVectorImpl8(); + private: void* _grow(size_t where, size_t amount); void _shrink(size_t where, size_t amount); @@ -132,10 +141,10 @@ class SortedVectorImpl : public VectorImpl { public: SortedVectorImpl(size_t itemSize, uint32_t flags); - explicit SortedVectorImpl(const VectorImpl& rhs); + SortedVectorImpl(const VectorImpl& rhs); virtual ~SortedVectorImpl(); - - SortedVectorImpl& operator = (const SortedVectorImpl& rhs); + + SortedVectorImpl& operator = (const SortedVectorImpl& rhs); //! finds the index of an item ssize_t indexOf(const void* item) const; @@ -149,13 +158,22 @@ public: //! merges a vector into this one ssize_t merge(const VectorImpl& vector); ssize_t merge(const SortedVectorImpl& vector); - + //! removes an item ssize_t remove(const void* item); - + protected: virtual int do_compare(const void* lhs, const void* rhs) const = 0; + virtual void reservedSortedVectorImpl1(); + virtual void reservedSortedVectorImpl2(); + virtual void reservedSortedVectorImpl3(); + virtual void reservedSortedVectorImpl4(); + virtual void reservedSortedVectorImpl5(); + virtual void reservedSortedVectorImpl6(); + virtual void reservedSortedVectorImpl7(); + virtual void reservedSortedVectorImpl8(); + private: ssize_t _indexOrderOf(const void* item, size_t* order = nullptr) const; |