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.
Revision 3:1069ef627cff, committed 2013-07-19
- Comitter:
- MatteoT
- Date:
- Fri Jul 19 06:13:48 2013 +0000
- Parent:
- 2:16cab88c1203
- Commit message:
- method templates inside header file
Changed in this revision
| SharedObject.cpp | Show diff for this revision Revisions of this file |
| SharedObject.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/SharedObject.cpp Fri Jul 19 05:34:48 2013 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-#include "SharedObject.h"
-
-template<class T>
-SharedObject<T>::SharedObject (const T& value)
-{
- _readwrite_mutex.lock();
- _value = value;
- _readwrite_mutex.unlock();
-}
-
-template<class T>
-SharedObject<T>::SharedObject ()
-{
- _readwrite_mutex.unlock();
-}
-
-template<class T>
-void SharedObject<T>::get (T& value_destination) const
-{
- _readwrite_mutex.lock();
- value_destination = _value;
- _readwrite_mutex.unlock();
-}
-template<class T>
-SharedObject<T>::operator T () const
-{
- T tmp_value;
- get(tmp_value);
- return tmp_value;
-}
-
-template<class T>
-void SharedObject<T>::set (const T& new_value)
-{
- _readwrite_mutex.lock();
- _value = new_value;
- _readwrite_mutex.unlock();
-}
-template<class T>
-void SharedObject<T>::operator= (const T& new_value)
-{
- set(new_value);
-}
\ No newline at end of file
--- a/SharedObject.h Fri Jul 19 05:34:48 2013 +0000
+++ b/SharedObject.h Fri Jul 19 06:13:48 2013 +0000
@@ -23,23 +23,49 @@
/** Resource constructor.
* @param value sets the initial value of the resource.
*/
- SharedObject (const T& value);
+ SharedObject (const T& value)
+ {
+ _readwrite_mutex.lock();
+ _value = value;
+ _readwrite_mutex.unlock();
+ }
/** Resource constructor without initial value.
*/
- SharedObject ();
+ SharedObject ()
+ {
+ _readwrite_mutex.unlock();
+ }
/** Sets the specified value_destination with the value of the shared resource.
*/
- void get (T& value_destination) const;
+ void get (T& value_destination) const
+ {
+ _readwrite_mutex.lock();
+ value_destination = _value;
+ _readwrite_mutex.unlock();
+ }
///Returns the value of the shared resource (may be slower than get).
- operator T () const;
+ operator T () const
+ {
+ T tmp_value;
+ get(tmp_value);
+ return tmp_value;
+ }
/** Sets the value of the shared resource with the specified new_value.
*/
- void set (const T& new_value);
+ void set (const T& new_value)
+ {
+ _readwrite_mutex.lock();
+ _value = new_value;
+ _readwrite_mutex.unlock();
+ }
///Alias of set.
- void operator= (const T& new_value);
+ void operator= (const T& new_value)
+ {
+ set(new_value);
+ }
};