memoryHaver.hpp
Go to the documentation of this file.
1
2#pragma once
3
4#include "memlite/common.hpp"
5
6namespace by {
7
8 class instance;
9
14 class _nout memoryHaver {
15 BY_ME(memoryHaver)
16 BY_INIT_META(me)
17
18 public:
19 virtual ~memoryHaver() {}
20
21 public:
22 virtual nbool has(const instance& it) const = 0;
23 nbool has(const instance* it) const BY_SIDE_FUNC(has);
24 virtual ncnt len() const = 0;
25 virtual ncnt size() const = 0;
26 virtual nbool rel() = 0;
27 nbool isFull() const;
28 nbool isCapable() const;
29
30 protected:
31 virtual void* _get(nidx n) = 0;
32 };
33}
Base class for all managed instances in memlite system.
Definition: instance.hpp:20
Abstract interface for objects that manage memory.
Definition: memoryHaver.hpp:14