47 template <
class T>
void*
AddT(T* buf)
49 return Add(buf,
sizeof(T));
52 void *
Add(
const void *buf,
int len)
54 int olen=
m_hb.GetSize();
57 char *newbuf=(
char *)
m_hb.ResizeOK(olen+len,
false);
61 if (buf)
memcpy(newbuf,buf,len);
68 T*
p = (T*)
Get(
sizeof(T));
101 m_hb.Resize(0,
false);
111 void Compact(
bool allocdown=
false,
bool force=
false)
113 int olen=
m_hb.GetSize();
114 if (
m_pos > (force ? 0 : olen/2))
119 char *
a=(
char*)
m_hb.Get();
126 m_hb.Resize(olen,allocdown);
143 while ((len-=2) >= 0)
145 char tmp=*
p; *
p++=*--ep; *ep=tmp;
151#define WDL_Queue__AddToLE(q, v) (q)->AddToLE(v)
152#define WDL_Queue__AddDataToLE(q,d,ds,us) (q)->AddDataToLE(d,ds,us)
153#define WDL_Queue__GetTFromLE(q,v) (q)->GetTFromLE(v)
154#define WDL_Queue__GetDataFromLE(q,ds,us) (q)->GetDataFromLE(ds,us)
163 char *dout = (
char *)
Add(
data,datasize);
164 while (datasize >= unitsize)
192 char *dout=(
char *)
data;
193 if (dout)
while (datasize >= unitsize)
217 T *
Add(
const T *buf,
int len)
219 int olen=
m_hb.GetSize();
221 len *= (
int)
sizeof(T);
223 char *newbuf=(
char*)
m_hb.ResizeOK(olen+len,
false);
227 if (buf)
memcpy(newbuf,buf,len);
247 m_hb.Resize(0,
false);
257 void Compact(
bool allocdown=
false,
bool force=
false)
259 int olen=
m_hb.GetSize();
260 if (
m_pos >= (force ? 0 : olen/2))
265 char *
a=(
char*)
m_hb.Get();
272 m_hb.Resize(olen,allocdown);
uint8_t a
Definition Spc_Cpu.h:141
void SetGranul(int granul)
Definition queue.h:131
void * Add(const void *buf, int len)
Definition queue.h:52
int Available() const
Definition queue.h:96
void * Rewind()
Definition queue.h:86
void * Get() const
Definition queue.h:80
WDL_HeapBuf m_hb
Definition queue.h:205
int GetSize() const
Definition queue.h:92
void * AddT(T *buf)
Definition queue.h:47
void AddToLE(T *val)
Definition queue.h:156
void AddDataToLE(void *data, int datasize, int unitsize)
Definition queue.h:160
void * Get(int size)
Definition queue.h:73
T * GetTFromLE(T *val=0)
Definition queue.h:178
WDL_Queue()
Definition queue.h:43
void Compact(bool allocdown=false, bool force=false)
Definition queue.h:111
WDL_Queue(int hbgran)
Definition queue.h:44
int __pad
Definition queue.h:208
void * GetDataFromLE(int datasize, int unitsize)
Definition queue.h:188
int m_pos
Definition queue.h:206
T * GetT(T *val=0)
Definition queue.h:66
static void WDL_Queue__bswap_buffer(void *buf, int len)
Definition queue.h:138
~WDL_Queue()
Definition queue.h:45
void Clear()
Definition queue.h:98
void Advance(int bytecnt)
Definition queue.h:104
int GetSize() const
Definition queue.h:238
T * Add(const T *buf, int len)
Definition queue.h:217
WDL_HeapBuf m_hb
Definition queue.h:280
void SetGranul(int granul)
Definition queue.h:277
void Clear()
Definition queue.h:244
void Compact(bool allocdown=false, bool force=false)
Definition queue.h:257
~WDL_TypedQueue()
Definition queue.h:215
T * Get() const
Definition queue.h:232
WDL_TypedQueue()
Definition queue.h:214
int Available() const
Definition queue.h:242
void Advance(int cnt)
Definition queue.h:250
int m_pos
Definition queue.h:281
int __pad
Definition queue.h:283
#define WDL_HEAPBUF_TRACEPARM(x)
Definition heapbuf.h:42
int val
Definition jpeglib.h:956
JSAMPIMAGE data
Definition jpeglib.h:945
uch * p
Definition crypt.c:594
memcpy(hh, h, RAND_HEAD_LEN)
typedef int(UZ_EXP MsgFn)()