General purpose ring buffer library

Dependents:   iSerial DGWWebServer iSerial Dumb_box_rev2 ... more

RingBuffer.h

Committer:
ykuroda
Date:
2012-09-27
Revision:
2:ea6d02ba96ae
Parent:
1:1c3a10f2eb04

File content as of revision 2:ea6d02ba96ae:

//
//  RingBuffer.h ... General purpose ring buffer library
//
//  Copyright 2012  Yoji KURODA
//
//  2009.11.13 ... Originally written in C by Y.Kuroda for Renesas H83664
//  2012.08.31 ... Code convert for mbed in C++
//

#ifndef _RINGBUFFER_H
#define _RINGBUFFER_H

class RingBuffer {

  protected:
    unsigned char* buf;
    unsigned char* sp;
    unsigned char* ep;


    int bufsize;

  public:
    RingBuffer(int _bufsize=100);
    ~RingBuffer();
    
    int save(unsigned char c);
    unsigned char read(void);
    int check(void);
    int buffersize(void){return bufsize;};
    int full(void){ return (check()>=bufsize-1 ? 1 : 0); };
};


#endif /* _RINGBUFFER_H */