로딩중...
검색중...
일치하는것 없음
pool.hpp
이 파일의 문서화 페이지로 가기
1
2#pragma once
3
5
6namespace by {
7
21 class _nout pool: public memoryHaver {
22 BY(ME(pool, memoryHaver))
23
24 public:
25 // pool:
26 pool();
27 virtual ~pool();
28
29 public:
35 chunks* get(const instance& it);
36 chunks* get(const instance* it) BY_SIDE_FUNC(get);
37
42 chunks* get(nidx n);
43 const chunks* get(const instance& it) const BY_CONST_FUNC(get(it))
44 const chunks* get(const instance* it) const BY_CONST_FUNC(get(it))
45 const chunks* get(nidx n) const BY_CONST_FUNC(get(n))
46
47 using super::has;
48
53 nbool has(const instance& it) const override;
54
55 ncnt size() const override;
56 ncnt len() const override;
57
63 nbool rel() override;
64
65 protected:
66 // memoryHaver:
72 void* _get(nidx n) override;
73
74 private:
75 std::vector<chunks*> _chunks;
76 };
77} // namespace by
Collection of memory chunks for scalable allocation
Definition chunks.hpp:36
Base class for all managed instances in memlite system
Definition instance.hpp:41
Abstract interface for objects that own memory
Definition memoryHaver.hpp:29
Memory pool manager for efficient instance allocation
Definition pool.hpp:21
const chunks *get(const instance &it) const BY_CONST_FUNC(get(it)) const chunks *get(const instance *it) const BY_CONST_FUNC(get(it)) const chunks *get(nidx n) const BY_CONST_FUNC(get(n)) using super nboo has)(const instance &it) const override
Checks if instance is managed by this pool
Definition pool.hpp:53
chunks * get(const instance &it)
Gets chunks container managing memory for given instance
void * _get(nidx n) override
Gets raw memory pointer at index
chunks * get(nidx n)
Gets chunks at specified index
nbool rel() override
Releases all pool resources and destroys chunks
Weak reference smart pointer with type-safe access
Definition tweak.hpp:16
#define BY_SIDE_FUNC(...)
Side function macros for safe pointer operations
Definition sideFunc.hpp:24
to Top