inkcpp
Loading...
Searching...
No Matches
compiler.h
1/* Copyright (c) 2024 Julian Benda
2 *
3 * This file is part of inkCPP which is released under MIT license.
4 * See file LICENSE.txt or go to
5 * https://github.com/JBenda/inkcpp for full license details.
6 */
7#pragma once
8
9#include "config.h"
10#ifdef INK_EXPOSE_JSON
11# ifdef INK_ENABLE_UNREAL
12# error Exposing JSON is not supported currently in UE
13# endif
14# include "../json.hpp"
15#endif
16#include "compilation_results.h"
17#include <iostream>
18
19namespace ink
20{
22namespace compiler
23{
25 void run(const char* filenameIn, const char* filenameOut, compilation_results* results = nullptr);
26
28 void run(const char* filenameIn, std::ostream& out, compilation_results* results = nullptr);
29
30#ifdef INK_EXPOSE_JSON
32 void run(const nlohmann::json&, const char* filenameOut, compilation_results* results = nullptr);
33
35 void run(const nlohmann::json&, std::ostream& out, compilation_results* results = nullptr);
36#endif
37
39 void run(std::istream& in, std::ostream& out, compilation_results* results = nullptr);
40
42 void run(std::istream& in, const char* filenameOut, compilation_results* results = nullptr);
43} // namespace compiler
44} // namespace ink
void run(const char *filenameIn, const char *filenameOut, compilation_results *results=nullptr)
file -> file
Namespace contaning all modules and classes from InkCPP.
Definition choice.h:11
stores results from the compilation process
Definition compilation_results.h:18