1m4_define(`dnl', `m4_dnl')`'dnl
2m4_divert(-1)
3
4dnl This m4 file generates the file parma_polyhedra_library_classes.cc
5dnl using the code in ppl_interface_generator_java_classes_cc_code.m4.
6
7dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it>
8dnl Copyright (C) 2010-2016 BUGSENG srl (http://bugseng.com)
9dnl
10dnl This file is part of the Parma Polyhedra Library (PPL).
11dnl
12dnl The PPL is free software; you can redistribute it and/or modify it
13dnl under the terms of the GNU General Public License as published by the
14dnl Free Software Foundation; either version 3 of the License, or (at your
15dnl option) any later version.
16dnl
17dnl The PPL is distributed in the hope that it will be useful, but WITHOUT
18dnl ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
19dnl FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
20dnl for more details.
21dnl
22dnl You should have received a copy of the GNU General Public License
23dnl along with this program; if not, write to the Free Software Foundation,
24dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
25dnl
26dnl For the most up-to-date information see the Parma Polyhedra Library
27dnl site: http://bugseng.com/products/ppl/ .
28
29dnl Include files defining macros that generate the non-fixed part.
30m4_include(`ppl_interface_generator_java_classes_cc_code.m4')
31m4_include(`ppl_interface_generator_java_procedure_generators.m4')
32
33dnl The macro m4_java_prefix_one_annotation is defined in
34dnl ppl_interfaces_generatos_common.m4 and will expand to the
35dnl extra pattern annotations for "1" and "1!";
36dnl that will insert a "1" after the "_" in the replacements.
37m4_java_prefix_one_annotation
38
39dnl -----------------------------------------------------------------
40dnl Macros needed for the class-dependent code.
41dnl -----------------------------------------------------------------
42dnl Ensure any schematic procedure macro that is not defined
43dnl in the code file outputs a warning message.
44m4_define(`m4_default_code', `m4_dumpdef($1`'_code)')
45m4_divert
46___END_OF_FILE___
47___BEGIN_OF_FILE___ ppl_java_Termination.cc << ___END_OF_FILE___
48/* Java Termination interface code.
49m4_include(`ppl_interface_generator_copyright')`'dnl
50*/
51
52`#'include "ppl_java_common_defs.hh"
53`#'include "parma_polyhedra_library_Termination.h"
54`#'include "parma_polyhedra_library_C_Polyhedron.h"
55`#'include "parma_polyhedra_library_NNC_Polyhedron.h"
56using namespace Parma_Polyhedra_Library;
57using namespace Parma_Polyhedra_Library::Interfaces::Java;
58
59dnl m4_pre_extra_class_code(Class, CPP_Class, Class_Kind)
60dnl Prefix extra code for each class.
61m4_define(`m4_pre_extra_class_code', `dnl
62m4_define(`m4_current_interface', `m4_interface_class$1')`'dnl
63___END_OF_FILE___
64___BEGIN_OF_FILE___ ppl_java_`'m4_current_interface`'.cc << ___END_OF_FILE___
65/* Java m4_current_interface interface code.
66m4_include(`ppl_interface_generator_copyright')`'dnl
67*/
68
69`#'include "ppl_java_common_defs.hh"
70`#'include "parma_polyhedra_library_`'m4_current_interface`'.h"
71m4_ifelse(m4_current_interface, Polyhedron,
72`#'include "parma_polyhedra_library_C_Polyhedron.h"
73`#'include "parma_polyhedra_library_NNC_Polyhedron.h"
74)`'dnl
75using namespace Parma_Polyhedra_Library;
76using namespace Parma_Polyhedra_Library::Interfaces::Java;
77
78')
79
80dnl -----------------------------------------------------------------
81dnl Main call to macro m4_all_code to generate code
82dnl -----------------------------------------------------------------
83m4_divert`'dnl
84dnl Generate the non-fixed part of the file.
85m4_all_code`'dnl
86___END_OF_FILE___
87dnl
88dnl End of file generation.
89