1#pragma once
2
3#include "taichi/util/lang_util.h"
4
5class CCProgramImpl;
6
7namespace taichi::lang {
8namespace cccp {
9
10class 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