2 #ifndef HOBBES_UTIL_AUTORELEASE_HPP_INCLUDED 3 #define HOBBES_UTIL_AUTORELEASE_HPP_INCLUDED 15 thread_local ResetFns
rs;
19 template <presetfn fn>
27 for (ResetFns::const_iterator f = rfs.begin(); f != rfs.end(); ++f) {
35 typedef std::vector<T*>
Vals;
43 for (
typename Vals::iterator i = vs.begin(); i != vs.end(); ++i) {
50 thread_local
bool saved =
false;
52 AutoreleaseSet::registerClearFn<&Autorelease<T>::reset>();
static void mark(T *x)
Definition: autorelease.H:49
static bool registerClearFn()
Definition: autorelease.H:20
static void reset()
Definition: autorelease.H:41
std::vector< T * > Vals
Definition: autorelease.H:35
void(* presetfn)()
Definition: autorelease.H:11
Definition: autorelease.H:34
std::vector< presetfn > ResetFns
Definition: autorelease.H:12
static ResetFns & resetFns()
Definition: autorelease.H:14
Definition: autorelease.H:10
size_t rs(const reader::MetaData &md, size_t o, size_t n, uint8_t *b)
Definition: storage.H:1720
ExprPtr fn(const str::seq &vns, const ExprPtr &b, const LexicalAnnotation &la)
Definition: expr.H:837
static void reset()
Definition: autorelease.H:25
T * autorelease(T *x)
Definition: autorelease.H:60
static Vals & vals()
Definition: autorelease.H:36