FastLED 3.10.8
Loading...
Searching...
No Matches

◆ insert() [2/3]

template<typename T>
template<typename InputIt>
iterator fl::vector< T >::insert ( iterator pos,
InputIt first,
InputIt last )
inline

Definition at line 758 of file vector.h.

758 {
760 fl::size count = 0;
761 for (InputIt it = first; it != last; ++it) {
763 push_back(*it);
764 if (mSize == old_size) {
765 break;
766 }
767 ++count;
768 }
769 if (count == 0) {
770 return begin() + target_idx;
771 }
772 // Rotate new elements into place via bubble swaps
774 for (fl::size i = 0; i < count; ++i) {
775 for (fl::size j = src_start + i; j > target_idx + i; --j) {
776 fl::swap(static_cast<T*>(mArray)[j - 1],
777 static_cast<T*>(mArray)[j]);
778 }
779 }
780 return begin() + target_idx;
781 }
void push_back(const T &value) FL_NO_EXCEPT
Definition vector.h:624
iterator begin() FL_NO_EXCEPT
Definition vector.h:655
void swap(array< T, N > &lhs, array< T, N > &rhs) FL_NO_EXCEPT
Definition array.h:209