로딩중...
검색중...
일치하는것 없음
pack.hpp
이 파일의 문서화 페이지로 가기
1
2#pragma once
3
6#include "core/ast/origin.hpp"
7
8namespace by {
9
10 class visitor;
11
21 class _nout pack: public obj {
22 BY(CLASS(pack, obj), VISIT())
23
24 public:
25 pack(const manifest& mani);
26
27 public:
28 manifest& getManifest();
29 const manifest& getManifest() const;
30 virtual nbool isValid() const;
31 void rel() override;
32
38 void addDependent(me* it) BY_SIDE_FUNC(addDependent);
39
40 const tnarr<me>& getDependents() const;
41
42 protected:
48 virtual void _invalidate();
49
50 private:
51 void _rel();
52
53 private:
54 manifest _manifest;
55 tnarr<me> _dependents;
56 };
57
61} // namespace by
Byeol runtime environment object
Definition obj.hpp:62
Pack
Definition pack.hpp:21
void addDependent(me &dependent)
Adds a dependent pack to this slot.
void rel() override
virtual void _invalidate()
Protected virtual method to invalidate the pack.
#define BY_SIDE_FUNC(...)
Side function macros for safe pointer operations
Definition sideFunc.hpp:24
Pack manifest information
Definition manifest.hpp:32
Rich logging support with polymorphic type conversion
Definition richLog.hpp:34