queue.h
来自「伯克利做的SFTP安全文件传输协议」· C头文件 代码 · 共 49 行
H
49 行
// specification file for an unlimited queue for storing bytes#ifndef QUEUE_H#define QUEUE_H#include "cryptlib.h"// The queue is implemented as a linked list of arrays, but you don't need to// know about that. So just ignore this next line. :)class ByteQueueNode;class ByteQueue : public BufferedTransformation{public: ByteQueue(unsigned int nodeSize=256); ByteQueue(const ByteQueue ©); ~ByteQueue(); // how many bytes currently stored unsigned long CurrentSize() const; unsigned long MaxRetrieveable() {return CurrentSize();} void Put(byte inByte); void Put(const byte *inString, unsigned int length); // both functions returns the number of bytes actually retrived unsigned int Get(byte &outByte); unsigned int Get(byte *outString, unsigned int getMax); unsigned int Peek(byte &outByte) const; void CopyTo(BufferedTransformation &target) const; void CopyTo(byte *target) const; ByteQueue & operator=(const ByteQueue &rhs); bool operator==(const ByteQueue &rhs) const; byte operator[](unsigned long i) const;private: void CopyFrom(const ByteQueue ©); void Destroy(); unsigned int nodeSize; ByteQueueNode *head, *tail;};#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?