Caffe& Caffe::Get() { if (!thread_instance_.get()) { thread_instance_.reset(new Caffe()); } return *(thread_instance_.get()); }
init &init::initialize() { if (!p_instance.get()) p_instance.reset(new init); return *p_instance; }
int howManyTilesWillBeDiscovered(int radious, int3 pos, crint3 dir) { return howManyTilesWillBeDiscovered(pos + dir, radious, cb.get()); }
Dragon& Dragon::Get(){ if (!thread_instance.get()) thread_instance.reset(new Dragon()); return *(thread_instance.get()); }
coroutine_t coroutine_create(coroutine_entry_point_t function, void *data){ if (!stack.get()) stack.reset(new stack_t); return new coroutine_wrapper(function, data); }
long long getJSTimeVirtualThreadSkew(){ if(jsTime_virtual_thread_skew.get()){ return *(jsTime_virtual_thread_skew.get()); } else return 0; }