4 #include <torch/csrc/WindowsTorchApiMacro.h> 5 #include <c10/util/Exception.h> 6 #include <torch/csrc/utils/disallow_copy.h> 19 TH_DISALLOW_COPY_AND_ASSIGN(
TempFile);
21 TempFile(
const std::string& t,
int suffix) {
24 std::vector<char> tt(t.c_str(), t.c_str() + t.size() + 1);
25 int fd = mkstemps(tt.data(), suffix);
27 file_ = fdopen(fd,
"r+");
31 name_ = std::string(tt.begin(), tt.end() - 1);
34 const std::string& name()
const {
42 void write(
const std::string& str) {
43 size_t result = fwrite(str.c_str(), 1, str.size(), file_);
44 AT_ASSERT(str.size() == result);
52 if (file_ !=
nullptr) {
55 unlink(name_.c_str());
61 FILE* file_ =
nullptr;