Cube  Diff

Differences From Artifact [79aa5cd4bd]:

To Artifact [1613c5c115]:


1
2
3
4
5
6

7
8
9
10
11
12


13
14

15
16
17
18
19
20

21
22
23

24
1
2
3
4
5

6
7
8
9
10


11
12
13

14
15
16
17
18
19

20
21
22

23
24





-
+




-
-
+
+

-
+





-
+


-
+

#include <vector>

#import "cube.h"
#import "protos.h"

static OFMutableArray<void (^)(void)> *queue;
static std::vector<void (^)(void)> *queue;

void
enqueueInit(void (^init)(void))
{
	if (queue == nil)
		queue = [[OFMutableArray alloc] init];
	if (queue == NULL)
		queue = new std::vector<void (^)(void)>();

	[queue addObject:init];
	queue->push_back(init);
}

void
processInitQueue(void)
{
	for (void (^init)(void) in queue)
	for (auto &init : *queue)
		init();

	[queue removeAllObjects];
	queue->clear();
}