Loading...
Searching...
No Matches
instancer.hpp
Go to the documentation of this file.
1
2#pragma once
3
6
7namespace by {
8
16 class _nout instancer {
18 BY_INIT_META(me)
19 friend class memliteInternal;
20
21 public:
22 ~instancer();
23
24 public:
30 nbool bind(const instance& it);
31 nbool bind(const instance* it) BY_SIDE_FUNC(bind);
32
39 nbool rel(const instance* it) BY_SIDE_FUNC(rel);
40 const pool& getPool() const;
41 const watcher& getWatcher() const;
42
47 static me* get();
48
49 private:
56 void* _new1(size_t sz);
57
64 void _del(void* pt, ncnt sz);
65
71 nbool _hasBindTag(const instance& it) const;
72
73 private:
74 instancer() = default;
75
76 private:
77 static nbool _isRel;
78 pool _pool;
79 watcher _watcher;
80 };
81} // namespace by
Base class for all managed instances in memlite system.
Definition instance.hpp:41
Singleton manager for instance lifecycle and memory allocation.
Definition instancer.hpp:16
nbool bind(const instance &it)
Binds instance for lifecycle management.
static me * get()
nbool rel(const instance &old)
Releases instance from lifecycle management.
Definition memliteInternal.hpp:12
Memory pool manager for efficient instance allocation.
Definition pool.hpp:21
Memory watcher for tracking instance lifecycle and allocation.
Definition watcher.hpp:20
Rich logging support with polymorphic type conversion.
Definition richLog.hpp:34