4#ifndef QRECYCLEPOOL_P_H
5#define QRECYCLEPOOL_P_H
18#include <QtCore/private/qglobal_p.h>
20#include <QtCore/q20memory.h>
24#define QRECYCLEPOOLCOOKIE 0x33218ADF
26template<
typename T,
int Step>
65template<
typename T,
int Step = 1024>
72 template<
typename...Args>
73 [[nodiscard]]
inline T *
New(Args&&...
args);
81template<
typename T,
int Step>
87template<
typename T,
int Step>
90 d->recyclePoolHold =
false;
91 d->releaseIfPossible();
94template<
typename T,
int Step>
95template<
typename...Args>
101template<
typename T,
int Step>
108template<
typename T,
int Step>
111 if (recyclePoolHold || outstandingItems)
114 Page *
p = currentPage;
124template<
typename T,
int Step>
131 }
else if (currentPage && currentPage->free) {
132 rv = (
PoolType *)(currentPage->array + (Step - currentPage->free) *
sizeof(
PoolType));
140 rv = (
PoolType *)currentPage->array;
149template<
typename T,
int Step>
Combined button and popup list for selecting options.
T * construct_at(T *ptr, Args &&... args)
#define QRECYCLEPOOLCOOKIE
QRecyclePoolPrivate< T, Step > * pool