FastLED
3.9.15
Loading...
Searching...
No Matches
◆
shrink_to_fit()
template<typename T>
void
fl::deque
< T >::shrink_to_fit
(
)
inline
Definition at line
447
of file
deque.h
.
447
{
448
if
(
mSize
<
mCapacity
) {
449
if
(
mSize
== 0) {
450
if
(
mData
) {
451
mResource
->deallocate(
mData
,
mCapacity
*
sizeof
(
T
));
452
}
453
mData
=
nullptr
;
454
mCapacity
= 0;
455
mFront
= 0;
456
}
else
{
457
// Reallocate to exact size
458
T
*
new_data
=
static_cast<
T
*
>
(
mResource
->allocate(
mSize
*
sizeof
(
T
)));
459
if
(!
new_data
) {
460
return
;
// Allocation failed
461
}
462
463
// Copy elements to new buffer
464
for
(
fl::size
i
= 0;
i
<
mSize
; ++
i
) {
465
fl::size
old_idx
= (
mFront
+
i
) %
mCapacity
;
466
new
(&
new_data
[
i
])
T
(
fl::move
(
mData
[
old_idx
]));
467
mData
[
old_idx
].~T();
468
}
469
470
if
(
mData
) {
471
mResource
->deallocate(
mData
,
mCapacity
*
sizeof
(
T
));
472
}
473
474
mData
=
new_data
;
475
mCapacity
=
mSize
;
476
mFront
= 0;
477
}
478
}
479
}
fl::deque::mFront
fl::size mFront
Definition
deque.h:19
fl::deque::mResource
memory_resource * mResource
Definition
deque.h:20
fl::deque::mCapacity
fl::size mCapacity
Definition
deque.h:17
fl::deque::mSize
fl::size mSize
Definition
deque.h:18
fl::deque::mData
T * mData
Definition
deque.h:16
fl::deque
Definition
deque.h:14
fl
deque
Generated on Tue Jun 16 2026 00:07:05 for FastLED by
1.13.2