A set of benchmarks to compare a new prototype MiniZinc implementation
at develop 1.5 kB view raw
1/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ 2 3/* 4 * Main authors: 5 * Guido Tack <guido.tack@monash.edu> 6 */ 7 8/* This Source Code Form is subject to the terms of the Mozilla Public 9 * License, v. 2.0. If a copy of the MPL was not distributed with this 10 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 11 12#ifndef __MINIZINC_HTMLPRINTER_HH 13#define __MINIZINC_HTMLPRINTER_HH 14 15#include <iostream> 16#include <vector> 17 18namespace MiniZinc { 19 20class Model; 21 22class HtmlDocument { 23protected: 24 std::string _filename; 25 std::string _title; 26 std::string _doc; 27 28public: 29 HtmlDocument(const std::string& filename, const std::string& title, const std::string& document) 30 : _filename(filename), _title(title), _doc(document) {} 31 std::string filename(void) const { return _filename; } 32 std::string title(void) const { return _title; } 33 std::string document(void) const { return _doc; } 34}; 35 36class HtmlPrinter { 37public: 38 static std::vector<HtmlDocument> printHtml(EnvI& env, Model* m, const std::string& basename, 39 int splitLevel, bool includeStdLib, 40 bool generateIndex); 41}; 42 43class RSTPrinter { 44public: 45 static std::vector<HtmlDocument> printRST(EnvI& env, Model* m, const std::string& basename, 46 int splitLevel, bool includeStdLib, bool generateIndex); 47}; 48 49} // namespace MiniZinc 50 51#endif