v1.1.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Modules Pages
Public Member Functions | List of all members
Sifteo::NullaryEventVector< tID > Struct Template Reference

Implementation for an event vector that takes no parameter. More...

#include <sifteo/event.h>

Public Member Functions

void * context () const
 Return the currently set context object, as a void pointer.
 
void * handler () const
 Return the currently set handler function, as a void pointer.
 
template<typename tContext >
void set (void(*handler)(tContext), tContext context) const
 Set this Vector to a function with context pointer. More...
 
void set (void(*handler)()) const
 Set this Vector to a bare function. More...
 
template<typename tClass >
void set (void(tClass::*handler)(), tClass *cls) const
 Set this event vector to an instance method, given a class method pointer and an instance of that class.
 
void unset () const
 Disable this event vector. More...
 

Detailed Description

template<_SYSVectorID tID>
struct Sifteo::NullaryEventVector< tID >

Implementation for an event vector that takes no parameter.

The typical EventVector is for unary functions (not including context pointer). This class is for nullary functions, that is functions which do not take an event parameter.

Instances of this template are found in the Events namespace. Typically you should not create instances of this object elsewhere.

Member Function Documentation

template<_SYSVectorID tID>
template<typename tContext >
void Sifteo::NullaryEventVector< tID >::set ( void(*)(tContext)  handler,
tContext  context 
) const
inline

Set this Vector to a function with context pointer.

Requires a closure consisting of an arbitrary pointer-sized context value, and a function pointer of the form:

void handler(ContextType c);

template<_SYSVectorID tID>
void Sifteo::NullaryEventVector< tID >::set ( void(*)()  handler) const
inline

Set this Vector to a bare function.

Set this event vector to a bare function which requires no context.

void handler();

template<_SYSVectorID tID>
void Sifteo::NullaryEventVector< tID >::unset ( ) const
inline

Disable this event vector.

This acts like a no-op handler was registered, but of course it's more efficient than setting an actual no-op handler.


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