1 | #pragma once |
---|---|
2 | |
3 | #include "taichi/util/lang_util.h" |
4 | |
5 | class CCProgramImpl; |
6 | |
7 | namespace taichi::lang { |
8 | namespace cccp { |
9 | |
10 | class CCLayout { |
11 | public: |
12 | explicit CCLayout(CCProgramImpl *cc_program_impl) |
13 | : cc_program_impl_(cc_program_impl) { |
14 | } |
15 | |
16 | std::string get_object() { |
17 | return obj_path_; |
18 | } |
19 | |
20 | size_t compile(); |
21 | |
22 | std::string source; |
23 | |
24 | private: |
25 | CCProgramImpl *cc_program_impl_{nullptr}; |
26 | |
27 | std::string src_path_; |
28 | std::string obj_path_; |
29 | }; |
30 | |
31 | } // namespace cccp |
32 | } // namespace taichi::lang |
33 |