Cube  init.mm at [ef1d7e47f7]

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


#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();
}