⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 buffer.m

📁 Buffer is an object oriented buffer implementation.
💻 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 + -