| 26 | #include <util/folder/path.h> |
| 27 | |
| 28 | void WriteHeader(const TString& headerName, IOutputStream& out, IOutputStream* headerOutPtr = nullptr) { |
| 29 | out << "// This file was auto-generated. Do not edit!!!\n"; |
| 30 | out << "#include " << headerName << "\n"; |
| 31 | out << "#include <tools/enum_parser/enum_serialization_runtime/enum_runtime.h>\n\n"; |
| 32 | out << "#include <tools/enum_parser/enum_parser/stdlib_deps.h>\n\n"; |
| 33 | out << "#include <util/generic/typetraits.h>\n"; |
| 34 | out << "#include <util/generic/singleton.h>\n"; |
| 35 | out << "#include <util/generic/string.h>\n"; |
| 36 | out << "#include <util/generic/vector.h>\n"; |
| 37 | out << "#include <util/generic/map.h>\n"; |
| 38 | out << "#include <util/generic/serialized_enum.h>\n"; |
| 39 | out << "#include <util/string/cast.h>\n"; |
| 40 | out << "#include <util/stream/output.h>\n\n"; |
| 41 | |
| 42 | if (headerOutPtr) { |
| 43 | auto& outHeader = *headerOutPtr; |
| 44 | outHeader << "// This file was auto-generated. Do not edit!!!\n"; |
| 45 | outHeader << "#pragma once\n\n"; |
| 46 | outHeader << "#include <util/generic/serialized_enum.h>\n"; |
| 47 | outHeader << "#include " << headerName << "\n"; |
| 48 | } |
| 49 | } |
| 50 | |
| 51 | static inline void JsonEscape(TString& s) { |
| 52 | SubstGlobal(s, "\\", "\\\\"); |