Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of C027_Support_New by
Diff: Pipe.h
- Revision:
- 5:5362073f2689
- Parent:
- 2:b6012cd91657
- Child:
- 7:9aa830f5811e
--- a/Pipe.h Fri Oct 25 17:50:17 2013 +0000 +++ b/Pipe.h Sat Nov 02 16:08:20 2013 +0000 @@ -12,17 +12,18 @@ return i; } public: - Pipe(int n) + Pipe(int n, T* p = NULL) { + a = p ? NULL : new T[n]; r = 0; w = 0; - n ++; // we add one more element to be able to identify empty from full - b = new T[n]; + b = p ? p : a; s = n; } virtual ~Pipe() { - delete [] b; + if (a) + delete [] a; } // writing thread bool writeable(void) // = not full @@ -123,6 +124,7 @@ private: // buffer T* b; //!< buffer + T* a; //!< allocated buffer int s; //!< size of buffer (s - 1) elements can be stored volatile int w; //! write index volatile int r; //! read index