Main MRPT website > C++ reference for MRPT 1.9.9
List of all members | Public Member Functions | Public Attributes | Protected Member Functions
mrpt::system::mrptEvent Class Reference

Detailed Description

The basic event type for the observer-observable pattern in MRPT.

You can sub-class this base class to create custom event types, then tell between them in runtime with isOfType<T>(), for example:

if (e.isOfType<mrptEventOnDestroy>())
{
const mrptEventOnDestroy* ev = e.getAs<mrptEventOnDestroy>();
ev-> ...
}
See also
CObserver, CObservable

Definition at line 33 of file mrptEvent.h.

#include <mrpt/system/mrptEvent.h>

Inheritance diagram for mrpt::system::mrptEvent:
Inheritance graph

Public Member Functions

 mrptEvent ()
 Default ctor. More...
 
template<class EVENTTYPE >
bool isOfType () const
 
template<class EVENTTYPE >
const EVENTTYPE * getAs () const
 
template<class EVENTTYPE >
EVENTTYPE * getAsNonConst () const
 

Public Attributes

mrpt::system::TTimeStamp timestamp
 

Protected Member Functions

virtual void do_nothing ()
 Just to allow this class to be polymorphic. More...
 

Constructor & Destructor Documentation

◆ mrptEvent()

mrpt::system::mrptEvent::mrptEvent ( )
inline

Default ctor.

Definition at line 40 of file mrptEvent.h.

Member Function Documentation

◆ do_nothing()

virtual void mrpt::system::mrptEvent::do_nothing ( )
inlineprotectedvirtual

◆ getAs()

template<class EVENTTYPE >
const EVENTTYPE* mrpt::system::mrptEvent::getAs ( ) const
inline

Definition at line 48 of file mrptEvent.h.

◆ getAsNonConst()

template<class EVENTTYPE >
EVENTTYPE* mrpt::system::mrptEvent::getAsNonConst ( ) const
inline

Definition at line 54 of file mrptEvent.h.

◆ isOfType()

template<class EVENTTYPE >
bool mrpt::system::mrptEvent::isOfType ( ) const
inline

Member Data Documentation

◆ timestamp

mrpt::system::TTimeStamp mrpt::system::mrptEvent::timestamp

Definition at line 59 of file mrptEvent.h.




Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST