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