📄 buffer.m
字号:
classdef buffer < handle
% buffer is the class definition for buffer classes. Buffer is used by
% ==================================================
% DATA MEMBERS
% ==================================================
properties (SetAccess='public')
buff
wPtr
bufferSize
end
% ==================================================
% PRIVATE METHODS
% ==================================================
methods (Access='private')
end
% ==================================================
% PUBLIC METHODS
% ==================================================
methods
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Constructor %%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function b = buffer(bufferSize)
b.buff = zeros(1,bufferSize);
b.wPtr = 1;
b.bufferSize = bufferSize;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% write %%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function write(b,inData)
if (b.wPtr-1 + length(inData) > b.bufferSize)
error('Buffer size is exceeded!');
else
b.buff(b.wPtr:b.wPtr + length(inData)-1) = inData;
b.wPtr = b.wPtr + length(inData);
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% read %%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function dataOut= read(b, nRqst)
dataOut = b.buff(1:nRqst);
b.buff(1:b.bufferSize-nRqst) = b.buff(nRqst+1:end);
b.wPtr = b.wPtr - nRqst;
end
function nb = numOfElements(b)
nb = (b.wPtr-1);
end
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -