/[svn]/linuxsampler/trunk/src/ringbuffer.h
ViewVC logotype

Diff of /linuxsampler/trunk/src/ringbuffer.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 17 by schoenebeck, Wed Nov 5 14:47:10 2003 UTC revision 18 by schoenebeck, Sun Dec 7 05:03:43 2003 UTC
# Line 76  public: Line 76  public:
76    
77      __inline int  read (T *dest, int cnt);      __inline int  read (T *dest, int cnt);
78      __inline int  write (T *src, int cnt);      __inline int  write (T *src, int cnt);
79    
80        inline int push(T* src) { return write(src,1); }
81        inline int pop(T* dst)  { return read(dst,1);  }
82    
83      __inline T *get_buffer_begin();      __inline T *get_buffer_begin();
84    
85      __inline T *get_read_ptr(void) {      __inline T *get_read_ptr(void) {
86        return(&buf[atomic_read(&read_ptr)]);        return(&buf[atomic_read(&read_ptr)]);
87      }      }
88    
89        /**
90         * Returns a pointer to the element from the current read position,
91         * advanced by \a offset elements.
92         */
93        /*inline T* get_read_ptr(int offset) {
94            int r = atomic_read(&read_ptr);
95            r += offset;
96            r &= size_mask;
97            return &buf[r];
98        }*/
99    
100      __inline T *get_write_ptr();      __inline T *get_write_ptr();
101      __inline void increment_read_ptr(int cnt) {      __inline void increment_read_ptr(int cnt) {
102                 atomic_set(&read_ptr , (atomic_read(&read_ptr) + cnt) & size_mask);                 atomic_set(&read_ptr , (atomic_read(&read_ptr) + cnt) & size_mask);

Legend:
Removed from v.17  
changed lines
  Added in v.18

  ViewVC Help
Powered by ViewVC