yarp-devices
Public Member Functions | Protected Member Functions | List of all members
roboticslab::TypedStateObserver< T, NonFundamentalType > Class Template Referencefinal

Type state observer for non-arithmetic types. More...

#include <StateObserver.hpp>

Inheritance diagram for roboticslab::TypedStateObserver< T, NonFundamentalType >:
roboticslab::StateObserverBase

Public Member Functions

bool await (T &remote)
 Wait with timeout until another thread invokes notify.
 
bool notify (const T &remote)
 Wakes up a waiting thread.
 
 StateObserverBase (double timeout)
 Constructor, configure with timeout in seconds.
 
 StateObserverBase (const StateObserverBase &)=delete
 Deleted copy constructor.
 

Protected Member Functions

void setRemoteStorage (const void *remote, std::size_t len) override
 Set data storage to notify observers with.
 

Additional Inherited Members

- Private Member Functions inherited from roboticslab::StateObserverBase
 StateObserverBase (double timeout)
 Constructor, configure with timeout in seconds.
 
virtual ~StateObserverBase ()=0
 Virtual destructor.
 
 StateObserverBase (const StateObserverBase &)=delete
 Deleted copy constructor.
 
StateObserverBaseoperator= (const StateObserverBase &)=delete
 Deleted copy assignment operator.
 
double getTimeout () const
 Retrieve configured timeout (in seconds).
 
bool await (void *raw=nullptr)
 Causes the current thread to wait until notify is invoked or the timeout elapses.
 
bool notify (const void *raw=nullptr, std::size_t len=0)
 Wake up a thread that waits on this object's monitor.
 
void * getRemoteStorage ()
 Retrieve modifiable handle to notified data storage.
 
const void * getRemoteStorage () const
 Retrieve non-modifiable handle to notified data storage.
 

Detailed Description

template<typename T, typename NonFundamentalType = void>
class roboticslab::TypedStateObserver< T, NonFundamentalType >

Template Parameters
TNon-fundamental type, mainly user-defined classes.

The documentation for this class was generated from the following file: