FastLED 3.9.15
Loading...
Searching...
No Matches

◆ erase() [1/2]

template<typename T>
iterator fl::deque< T >::erase ( const_iterator first,
const_iterator last )
inline

Definition at line 663 of file deque.h.

663 {
664 if (first == last) return iterator(this, first.mIndex);
665
666 fl::size start_idx = first.mIndex;
667 fl::size count = last.mIndex - first.mIndex;
668
669 // Destroy elements in range
670 for (fl::size i = 0; i < count; ++i) {
672 mData[destroy_idx].~T();
673 }
674
675 // Shift remaining elements left
676 for (fl::size i = start_idx; i < mSize - count; ++i) {
679 new (&mData[to_idx]) T(fl::move(mData[from_idx]));
680 mData[from_idx].~T();
681 }
682
683 mSize -= count;
684 return iterator(this, start_idx);
685 }
fl::size mSize
Definition deque.h:18
fl::size get_index(fl::size logical_index) const
Definition deque.h:55
T * mData
Definition deque.h:16