Skip to content

Commit d56bb5f

Browse files
UserAllocatedEvent implementation
1 parent 7a4c8ac commit d56bb5f

File tree

3 files changed

+430
-6
lines changed

3 files changed

+430
-6
lines changed

events/EventQueue.h

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ namespace events {
4545
// Predeclared classes
4646
template <typename F>
4747
class Event;
48+
template <typename F, typename A>
49+
class UserAllocatedEvent;
4850

4951
/**
5052
* \defgroup events_EventQueue EventQueue class
@@ -1071,6 +1073,8 @@ class EventQueue : private mbed::NonCopyable<EventQueue> {
10711073
#if !defined(DOXYGEN_ONLY)
10721074
template <typename F>
10731075
friend class Event;
1076+
template <typename F, typename A>
1077+
friend class UserAllocatedEvent;
10741078
struct equeue _equeue;
10751079
mbed::Callback<void(int)> _update;
10761080

@@ -1095,7 +1099,7 @@ class EventQueue : private mbed::NonCopyable<EventQueue> {
10951099
struct context<F> {
10961100
F f;
10971101

1098-
context(F f)
1102+
constexpr context(F f)
10991103
: f(f) {}
11001104

11011105
template <typename... ArgTs>
@@ -1110,7 +1114,7 @@ class EventQueue : private mbed::NonCopyable<EventQueue> {
11101114
F f;
11111115
C0 c0;
11121116

1113-
context(F f, C0 c0)
1117+
constexpr context(F f, C0 c0)
11141118
: f(f), c0(c0) {}
11151119

11161120
template <typename... ArgTs>
@@ -1126,7 +1130,7 @@ class EventQueue : private mbed::NonCopyable<EventQueue> {
11261130
C0 c0;
11271131
C1 c1;
11281132

1129-
context(F f, C0 c0, C1 c1)
1133+
constexpr context(F f, C0 c0, C1 c1)
11301134
: f(f), c0(c0), c1(c1) {}
11311135

11321136
template <typename... ArgTs>
@@ -1143,7 +1147,7 @@ class EventQueue : private mbed::NonCopyable<EventQueue> {
11431147
C1 c1;
11441148
C2 c2;
11451149

1146-
context(F f, C0 c0, C1 c1, C2 c2)
1150+
constexpr context(F f, C0 c0, C1 c1, C2 c2)
11471151
: f(f), c0(c0), c1(c1), c2(c2) {}
11481152

11491153
template <typename... ArgTs>
@@ -1161,7 +1165,7 @@ class EventQueue : private mbed::NonCopyable<EventQueue> {
11611165
C2 c2;
11621166
C3 c3;
11631167

1164-
context(F f, C0 c0, C1 c1, C2 c2, C3 c3)
1168+
constexpr context(F f, C0 c0, C1 c1, C2 c2, C3 c3)
11651169
: f(f), c0(c0), c1(c1), c2(c2), c3(c3) {}
11661170

11671171
template <typename... ArgTs>
@@ -1180,7 +1184,7 @@ class EventQueue : private mbed::NonCopyable<EventQueue> {
11801184
C3 c3;
11811185
C4 c4;
11821186

1183-
context(F f, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
1187+
constexpr context(F f, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
11841188
: f(f), c0(c0), c1(c1), c2(c2), c3(c3), c4(c4) {}
11851189

11861190
template <typename... ArgTs>

0 commit comments

Comments
 (0)