HoverRace  2.0
Public Member Functions | Protected Attributes | List of all members
HoverRace::Control::ControlAction< T > Class Template Referenceabstract

Abstract base class which allows us a simple reference to arbitrary functors of type ControlActionImpl (which bind a class via a template parameter). More...

#include <ControlAction.h>

Public Member Functions

 ControlAction ()
 
 ControlAction (const std::string &name, int listOrder)
 
virtual ~ControlAction ()
 
int GetListOrder () const noexcept
 
const std::string & GetName () const noexcept
 
virtual void operator() (T eventValue)=0
 

Protected Attributes

int listOrder
 
std::string name
 

Detailed Description

template<class T>
class HoverRace::Control::ControlAction< T >

Abstract base class which allows us a simple reference to arbitrary functors of type ControlActionImpl (which bind a class via a template parameter).

Unfortunately, this must use virtual functions to work correctly, which is not optimal, but is the best the language can do.

To create a functor, derive the ControlAction class.

Author
Ryan Curtin

Constructor & Destructor Documentation

template<class T>
HoverRace::Control::ControlAction< T >::ControlAction ( )
inline
template<class T>
HoverRace::Control::ControlAction< T >::ControlAction ( const std::string &  name,
int  listOrder 
)
inline
template<class T>
virtual HoverRace::Control::ControlAction< T >::~ControlAction ( )
inlinevirtual

Member Function Documentation

template<class T>
int HoverRace::Control::ControlAction< T >::GetListOrder ( ) const
inlinenoexcept
template<class T>
const std::string& HoverRace::Control::ControlAction< T >::GetName ( ) const
inlinenoexcept
template<class T>
virtual void HoverRace::Control::ControlAction< T >::operator() ( eventValue)
pure virtual

Member Data Documentation

template<class T>
int HoverRace::Control::ControlAction< T >::listOrder
protected
template<class T>
std::string HoverRace::Control::ControlAction< T >::name
protected

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