$interface=<<END_OF_INTERFACE;
/** \@file ${STRUCTURE}.h
*
- * Definition of GiNaC's user defined structure ${STRUCTURE}.
+ * Definition of GiNaC's user defined structure ${STRUCTURE}. */
+
+/*
* This file was generated automatically by structure.pl.
* Please do not modify it directly, edit the perl script instead!
+ *
+ * GiNaC Copyright (C) 1999-2000 Johannes Gutenberg University Mainz, Germany
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
// structure.pl input:
${input_structure}
-#ifndef _${STRUCTURE_UC}_H_
-#define _${STRUCTURE_UC}_H_
+#ifndef __GINAC_${STRUCTURE_UC}_H__
+#define __GINAC_${STRUCTURE_UC}_H__
+
+#include <ginac/structure.h>
-#include <ginac/ginac.h>
+#ifndef NO_GINAC_NAMESPACE
+namespace GiNaC {
+#endif // ndef NO_GINAC_NAMESPACE
class ${STRUCTURE} : public structure
{
#define ex_to_${STRUCTURE}(X) (static_cast<${STRUCTURE} const &>(*(X).bp))
+#ifndef NO_GINAC_NAMESPACE
+} // namespace GiNaC
+#endif // ndef NO_GINAC_NAMESPACE
+
#endif // ndef _${STRUCTURE_UC}_H_
END_OF_INTERFACE
$implementation=<<END_OF_IMPLEMENTATION;
/** \@file ${STRUCTURE}.cpp
*
- * Implementation of GiNaC's user defined structure ${STRUCTURE}.
+ * Implementation of GiNaC's user defined structure ${STRUCTURE}. */
+
+/*
* This file was generated automatically by STRUCTURE.pl.
* Please do not modify it directly, edit the perl script instead!
+ *
+ * GiNaC Copyright (C) 1999-2000 Johannes Gutenberg University Mainz, Germany
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
// structure.pl input:
#include <iostream>
-#include "ginac.h"
+#include "${STRUCTURE}.h"
+
+#ifndef NO_GINAC_NAMESPACE
+namespace GiNaC {
+#endif // ndef NO_GINAC_NAMESPACE
//////////
// default constructor, destructor, copy constructor assignment operator and helpers
ex & ${STRUCTURE}::let_op(int const i)
{
- ASSERT(i>=0);
- ASSERT(i<nops());
+ GINAC_ASSERT(i>=0);
+ GINAC_ASSERT(i<nops());
switch (i) {
${let_op_statements}
bool ${STRUCTURE}::has(ex const & other) const
{
- ASSERT(other.bp!=0);
+ GINAC_ASSERT(other.bp!=0);
if (is_equal(*other.bp)) return true;
${has_statements}
return false;
int ${STRUCTURE}::compare_same_type(basic const & other) const
{
- ASSERT(is_of_type(other,${STRUCTURE}));
+ GINAC_ASSERT(is_of_type(other,${STRUCTURE}));
${STRUCTURE} const & o=static_cast<${STRUCTURE} const &>
(const_cast<basic &>(other));
int cmpval;
bool ${STRUCTURE}::is_equal_same_type(basic const & other) const
{
- ASSERT(is_of_type(other,${STRUCTURE}));
+ GINAC_ASSERT(is_of_type(other,${STRUCTURE}));
${STRUCTURE} const & o=static_cast<${STRUCTURE} const &>
(const_cast<basic &>(other));
${is_equal_statements}
type_info const & typeid_${STRUCTURE}=typeid(some_${STRUCTURE});
const unsigned tinfo_${STRUCTURE}=structure::register_new("${STRUCTURE}");
+#ifndef NO_GINAC_NAMESPACE
+} // namespace GiNaC
+#endif // ndef NO_GINAC_NAMESPACE
+
END_OF_IMPLEMENTATION
print "Creating interface file ${STRUCTURE}.h...";