?? ringbuffer.h
字號:
// RingBuffer.h: interface for the RingBuffer class.
//
//////////////////////////////////////////////////////////////////////
#ifndef __RINGBUFFER_H__
#define __RINGBUFFER_H__
#pragma once
//=======================================================================================================================
/// 傅滾欺 備泅 努貳膠
/**
@author
Kim Min Wook < taiyo@webzen.co.kr >
@since
2004. 8. 2
@remarks
- 傅滾欺俊 單撈磐甫 put, get竅綽 utility library
- Put( BYTE * pData, DWORD dwSize ) : 泅犁 困摹狼 滾欺(m_pRear)俊 單撈磐甫 dwSize父怒 火澇
- Get( BYTE * pData, DWORD dwSize ) : 泅犁 困摹狼 滾欺(m_pRear)俊輯 單撈磐甫 dwSize父怒 眠免
- Peek( BYTE * pData, DWORD dwSize ) : 泅犁 困摹狼 滾欺(m_pRear)俊輯 單撈磐甫 dwSize父怒 眠免( m_pRear俊 +dwSize竅瘤 臼瀾 )
@todo
- template欄肺 蠟楷竅霸 且 鞘夸 樂瀾(^O^)/
*/
//=======================================================================================================================
namespace util
{
class RingBuffer
{
public:
RingBuffer();
virtual ~RingBuffer();
VOID InitBuffer( DWORD dwBufferSize );
VOID ReleaseBuffer();
VOID ResetBuffer();
BOOL Put( BYTE * pData, DWORD dwSize );
BOOL Get( BYTE * pData, DWORD dwSize );
BOOL Peek( BYTE * pData, DWORD dwSize );
inline DWORD GetAvailableSize() { return m_dwAvailableSize; }
inline DWORD GetOccupiedSize() { return m_dwMaxBufferSize - m_dwAvailableSize; }
inline BYTE * GetFrontPtr() { return m_pFront; }
private:
BYTE * m_pBuffer;
BYTE * m_pHead;
BYTE * m_pTail;
BYTE * m_pFront;
BYTE * m_pRear;
DWORD m_dwMaxBufferSize;
DWORD m_dwAvailableSize;
DWORD m_dwExtraBufferSize; // Tail 第俊 嘿綽 咯盒狼 滾欺葷撈令
};
}
#endif // __RINGBUFFER_H__
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -