FastLED
3.9.15
Loading...
Searching...
No Matches
◆
swap()
template<typename T, fl::size N>
void
fl::FixedVector
< T, N >::swap
(
FixedVector
< T, N > &
other
)
inline
Definition at line
409
of file
vector.h
.
409
{
410
if
(
this
== &
other
)
return
;
411
fl::size
min_sz
=
fl::min
(
current_size
,
other
.
current_size
);
412
fl::size
max_sz
=
fl::max
(
current_size
,
other
.
current_size
);
413
// Swap elements that exist in both vectors
414
for
(
fl::size
i
= 0;
i
<
min_sz
; ++
i
) {
415
fl::swap
(
memory
()[
i
],
other
.
memory
()[
i
]);
416
}
417
// Move remaining elements from the larger to the smaller
418
if
(
current_size
>
other
.
current_size
) {
419
for
(
fl::size
i
=
min_sz
;
i
<
max_sz
; ++
i
) {
420
T
*
src
=
memory
() +
i
;
421
T
*
dst
=
other
.
memory
() +
i
;
422
new
(
dst
)
T
(
fl::move
(*
src
));
423
src
->~T();
424
}
425
}
else
if
(
other
.
current_size
>
current_size
) {
426
for
(
fl::size
i
=
min_sz
;
i
<
max_sz
; ++
i
) {
427
T
*
src
=
other
.
memory
() +
i
;
428
T
*
dst
=
memory
() +
i
;
429
new
(
dst
)
T
(
fl::move
(*
src
));
430
src
->~T();
431
}
432
}
433
fl::size
temp_size
=
current_size
;
434
current_size
=
other
.
current_size
;
435
other
.
current_size
=
temp_size
;
436
}
fl::FixedVector::memory
T * memory() FL_NOEXCEPT
Definition
vector.h:90
fl::FixedVector::current_size
fl::size current_size
Definition
vector.h:439
fl::FixedVector
Definition
vector.h:86
fl::fl::swap
void swap(T &a, T &b) FL_NOEXCEPT
Definition
s16x16x4.h:877
fl::min
FL_DISABLE_WARNING_PUSH U constexpr common_type_t< T, U > min(T a, U b) FL_NOEXCEPT
Definition
math.h:71
fl::max
constexpr common_type_t< T, U > max(T a, U b) FL_NOEXCEPT
Definition
math.h:75
fl
FixedVector
Generated on Tue Jun 16 2026 00:07:05 for FastLED by
1.13.2