1 /* Declarations of print_ppl_*_to_buffer() functions. 2 Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it> 3 Copyright (C) 2010-2016 BUGSENG srl (http://bugseng.com) 4 5 This file is part of the Parma Polyhedra Library (PPL). 6 7 The PPL is free software; you can redistribute it and/or modify it 8 under the terms of the GNU General Public License as published by the 9 Free Software Foundation; either version 3 of the License, or (at your 10 option) any later version. 11 12 The PPL is distributed in the hope that it will be useful, but WITHOUT 13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15 for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program; if not, write to the Free Software Foundation, 19 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA. 20 21 For the most up-to-date information see the Parma Polyhedra Library 22 site: http://bugseng.com/products/ppl/ . */ 23 24 #ifndef PPL_print_to_buffer_h 25 #define PPL_print_to_buffer_h 1 26 27 #include "ppl_c.h" 28 29 /* 30 Returns a buffer allocated with malloc() containing a printable 31 representation of the PPL object referenced by `p', where each 32 newline is followed by `indent_depth' blank spaces and the preferred 33 maximum length of the first and the following lines are given by 34 `preferred_first_line_length' and `preferred_line_length', 35 respectively. 36 */ 37 #define DECLARE_PRINT_TO_BUFFER(Type) \ 38 char* \ 39 print_ppl_##Type##_to_buffer(ppl_const_##Type##_t p, \ 40 unsigned indent_depth, \ 41 unsigned preferred_first_line_length, \ 42 unsigned preferred_line_length); 43 44 #ifdef __cplusplus 45 extern "C" { 46 #endif 47 48 DECLARE_PRINT_TO_BUFFER(Coefficient) 49 50 DECLARE_PRINT_TO_BUFFER(Linear_Expression) 51 52 DECLARE_PRINT_TO_BUFFER(Constraint) 53 54 DECLARE_PRINT_TO_BUFFER(Constraint_System) 55 56 DECLARE_PRINT_TO_BUFFER(Constraint_System_const_iterator) 57 58 DECLARE_PRINT_TO_BUFFER(Generator) 59 60 DECLARE_PRINT_TO_BUFFER(Generator_System) 61 62 DECLARE_PRINT_TO_BUFFER(Generator_System_const_iterator) 63 64 DECLARE_PRINT_TO_BUFFER(Congruence) 65 66 DECLARE_PRINT_TO_BUFFER(Congruence_System) 67 68 DECLARE_PRINT_TO_BUFFER(Grid_Generator) 69 70 DECLARE_PRINT_TO_BUFFER(Grid_Generator_System) 71 72 DECLARE_PRINT_TO_BUFFER(MIP_Problem) 73 74 DECLARE_PRINT_TO_BUFFER(PIP_Problem) 75 76 #ifdef __cplusplus 77 } /* extern "C" */ 78 #endif 79 80 #undef DECLARE_PRINT_TO_BUFFER 81 82 #endif /* !defined(PPL_print_to_buffer_h) */ 83