iaEvent.h File Reference
#include <iaux/system/iaConsole.h>
#include <mutex>
#include <vector>
#include <algorithm>
#include <memory>

Classes

class  iaux::iaDelegate< R, Args >
 
class  iaux::iaEventPool
 
class  iaux::iaEvent< R, Args >
 

Namespaces

namespace  iaux
 

Macros

#define IGOR_EVENT_DEFINITION(NAME, ...)
 
#define IGOR_DELEGATE_DEFINITION(NAME, ...)    typedef iaDelegate<void, __VA_ARGS__> NAME##Delegate;
 
#define IGOR_EVENT_DEFINITION_NO_ARGS(NAME)
 

Typedefs

typedef iaDelegate< void > iaux::iaEventPoolDelegate
 

Functions

template<typename T >
std::wostream & iaux::operator<< (std::wostream &stream, const iaDelegate< T > &delegate)
 

Macro Definition Documentation

◆ IGOR_DELEGATE_DEFINITION

#define IGOR_DELEGATE_DEFINITION (   NAME,
  ... 
)     typedef iaDelegate<void, __VA_ARGS__> NAME##Delegate;

◆ IGOR_EVENT_DEFINITION

#define IGOR_EVENT_DEFINITION (   NAME,
  ... 
)
Value:
typedef iaEvent<void, __VA_ARGS__> NAME##Event; \
typedef iaDelegate<void, __VA_ARGS__> NAME##Delegate;

helper function to specify an event and its corresponding delegate

Parameters
NAMEthe name of the event
...parameter types. first parameter is expected to be the return type

◆ IGOR_EVENT_DEFINITION_NO_ARGS

#define IGOR_EVENT_DEFINITION_NO_ARGS (   NAME)
Value:
typedef iaEvent<void> NAME##Event; \
typedef iaDelegate<void> NAME##Delegate;