로딩중...
검색중...
일치하는것 없음
podLoader.hpp
이 파일의 문서화 페이지로 가기
1
2#pragma once
3
4#include "core/ast/pod.hpp"
5
6namespace by {
7
8 class errReport;
9 class podLoading;
10 typedef std::vector<podLoading*> podLoadings;
11
17 class _nout podLoader: public typeProvidable, public clonable {
18 BY(CLASS(podLoader))
19
20 public:
21 podLoader();
22
23 public:
24 me& addPath(const std::string& filePath);
25 me& addPath(const std::vector<std::string> paths);
26 me& addPath(std::initializer_list<const nchar*> paths);
27 me& addRelativePath(const std::string& path);
34 me& setBasePods(nmap* it) BY_SIDE_FUNC(it, setBasePods(*it), *this);
35
41 void load();
42
43 private:
44 void _makePods(nmap& tray);
45 void _addNewPod(nmap& tray, manifest& mani, const std::string& dirPath);
46
47 void _logPod(const pod& pak) const;
48
49 manifest _interpManifest(const std::string& dir, const std::string& manPath) const;
50
51 podLoading* _makeLoading(const std::string& name) const;
52 const podLoadings& _getLoadings() const;
53
54 private:
55 tstr<nmap> _pods;
56 std::vector<std::string> _paths;
57 static constexpr nchar DELIMITER = '/';
58 };
59} // namespace by
Pod
Definition pod.hpp:21
Pod loading and management system
Definition podLoader.hpp:17
me & setBasePods(nmap &s)
Sets the map where loaded pods will be stored.
void load()
Initiates the pod loading process.
Base class for pod loading strategies
Definition podLoading.hpp:22
Definition tnarr.hpp:9
pod manifest information
Definition manifest.hpp:32
to Top