Xonotic
lazy.qh
Go to the documentation of this file.
1 #pragma once
2 
3 #include "oo.qh"
4 
6  ATTRIB(Lazy, m_get, entity());
7  CONSTRUCTOR(Lazy, entity() _compute)
8  {
9  this.m_get = _compute;
10  }
12 
13 #define LAZY(id) __lazy_##id
14 #define LAZY_NEW(id, compute) \
15  entity LAZY(id)() { \
16  static bool done; \
17  static entity it; \
18  if (!done) { it = compute; done = true; } \
19  return it; \
20  }
CLASS(Object) Object
Definition: oo.qh:318
entity() spawn
#define ATTRIB(...)
Definition: oo.qh:136
Definition: lazy.qh:5
#define ENDCLASS(cname)
Definition: oo.qh:269
#define CONSTRUCTOR(cname,...)
Definition: oo.qh:201