Cube  init.mm at [b250dfa8d4]

File src/init.mm artifact 1613c5c115 part of check-in b250dfa8d4


#include <vector>

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

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

void
enqueueInit(void (^init)(void))
{
	if (queue == NULL)
		queue = new std::vector<void (^)(void)>();

	queue->push_back(init);
}

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

	queue->clear();
}