Sha256: ba8d9355f7a23cacf23332b13ee4df24ff152ba82f237e4a91534422d1af5503

Contents?: true

Size: 1.29 KB

Versions: 4

Compression:

Stored size: 1.29 KB

Contents

/* Copyright (c) 2024 Julian Benda
 *
 * This file is part of inkCPP which is released under MIT license.
 * See file LICENSE.txt or go to
 * https://github.com/JBenda/inkcpp for full license details.
 */
#pragma once

#include "config.h"
#ifdef INK_EXPOSE_JSON
#	ifdef INK_ENABLE_UNREAL
#		error Exposing JSON is not supported currently in UE
#	endif
#	include "../json.hpp"
#endif
#include "compilation_results.h"
#include <iostream>

namespace ink
{
/** collection of functions to compile a story.json to story.bin */
namespace compiler
{
	/** file -> file */
	void run(const char* filenameIn, const char* filenameOut, compilation_results* results = nullptr);

	/** file -> stream */
	void run(const char* filenameIn, std::ostream& out, compilation_results* results = nullptr);

#ifdef INK_EXPOSE_JSON
	/** JSON -> file */
	void run(const nlohmann::json&, const char* filenameOut, compilation_results* results = nullptr);

	/** JSON -> stream */
	void run(const nlohmann::json&, std::ostream& out, compilation_results* results = nullptr);
#endif

	/** stream -> stream */
	void run(std::istream& in, std::ostream& out, compilation_results* results = nullptr);

	/** stream -> file */
	void run(std::istream& in, const char* filenameOut, compilation_results* results = nullptr);
} // namespace compiler
} // namespace ink

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
inkcpp_rb-0.1.3 ext/inkcpp_rb/inkcpp/inkcpp_compiler/include/compiler.h
inkcpp_rb-0.1.2 ext/inkcpp_rb/inkcpp/inkcpp_compiler/include/compiler.h
inkcpp_rb-0.1.1 ext/inkcpp_rb/inkcpp/inkcpp_compiler/include/compiler.h
inkcpp_rb-0.1.0 ext/inkcpp_rb/inkcpp/inkcpp_compiler/include/compiler.h