Faro Engine 0.0.0.b519570 (main)
Loading...
Searching...
No Matches
Broadcast.hpp
Go to the documentation of this file.
1#pragma once
2#include <functional>
3#include "../Containers/Array.hpp"
4
5namespace Faro
6{
7 template<class ...Args>
9 {
10 public:
11 void Add(Function<void(Args...)> function)
12 {
13 boundFunctions.Add(function);
14 }
15
16 void Dispatch(Args... arguments)
17 {
18 for (Function<void(Args...)>& function : boundFunctions)
19 {
20 function(arguments...);
21 }
22 }
23
24 private:
25 Array<Function<void(Args...)>> boundFunctions;
26 };
27}
Definition Array.hpp:11
void Add(const T &object)
Definition Array.hpp:26
Definition Broadcast.hpp:9
void Dispatch(Args... arguments)
Definition Broadcast.hpp:16
void Add(Function< void(Args...)> function)
Definition Broadcast.hpp:11
Definition Array.hpp:8
std::function< T > Function
Definition Primitives.hpp:19