mirror of https://github.com/CGAL/cgal
144 lines
5.8 KiB
TeX
144 lines
5.8 KiB
TeX
\subsection*{Internal releases}
|
|
\ccIndexSubsubitemBegin{source files}{headings for}{internal releases}
|
|
|
|
The heading of a \cgal\ source file that is submitted (for an internal release)
|
|
should have the following format:
|
|
|
|
\begin{verbatim}
|
|
// ============================================================================
|
|
//
|
|
// Copyright (c) 1997-2001 The CGAL Consortium
|
|
//
|
|
// This software and related documentation is part of an INTERNAL release
|
|
// of the Computational Geometry Algorithms Library (CGAL). It is not
|
|
// intended for general use.
|
|
//
|
|
// ----------------------------------------------------------------------------
|
|
//
|
|
// release : $CGAL_Revision$
|
|
// release_date : $CGAL_Date$
|
|
//
|
|
// file : include/CGAL/Min_ellipse_2.h
|
|
// package : Min_ellipse_2 (3.5.4)
|
|
// chapter : Geometric Optimisation
|
|
//
|
|
// source : web/Optimisation/Min_ellipse_2.aw
|
|
// revision : $Revision$
|
|
// revision_date : $Date$
|
|
//
|
|
// author(s) : Bernd Gaertner, Sven Schoenherr
|
|
// maintainer : Sven Schoenherr <sven@inf.fu-berlin.de>
|
|
// coordinator : ETH Zuerich (Bernd Gaertner <gaertner@inf.ethz.ch>)
|
|
//
|
|
// implementation: 2D Smallest Enclosing Ellipse
|
|
// ============================================================================
|
|
\end{verbatim}
|
|
|
|
The following rules apply to the fields:
|
|
|
|
\begin{itemize}
|
|
\item {\tt <release>}, {\tt <release\_date>}, and {\tt <maintainer>} must be
|
|
present but need not be filled in (since they will be overwritten when
|
|
the internal release is created).
|
|
\item {\tt <file>}, {\tt <package>}, {\tt <author(s)>}, and
|
|
{\tt <coordinator>} are obligatory and must be filled in.
|
|
\item {\tt <chapter>}, {\tt <source>}, {\tt <revision>}, {\tt <revision\_date>},
|
|
and {\tt <implementation>} are optional.
|
|
\item For the {\tt <coordinator>} field, the coordinating site as well as
|
|
the person in charge is named, together with the person's e-mail address.
|
|
\item Optionally, the next-to-last line may contain a comment on the
|
|
functionality of the source file's content.
|
|
\end{itemize}
|
|
|
|
When a new internal release is generated\ccIndexMainItem{internal release},
|
|
the fields {\tt <release>} and {\tt <release\_date>} are overwritten.
|
|
The release label for the internal release is composed of the number of the
|
|
next public release, an~{\tt I} (for ``internal''), and a positive integer that
|
|
represents the internal release number (\eg, e.g.~{\tt CGAL-2.2-I-1} was the
|
|
number of the first internal release after public release 2.1).%
|
|
\ccIndexSubitem{internal release}{number}
|
|
If the field {\tt <maintainer>} is blank, it is filled in with the name and
|
|
email address of the last person who submitted the package.%
|
|
\ccIndexSubitem{\tt maintainer}{field in file header}
|
|
All other fields between the two delimiting
|
|
lines of equal signs remain untouched.
|
|
\ccIndexSubsubitemEnd{source files}{headings for}{internal releases}
|
|
|
|
\subsection*{Public releases}
|
|
\ccIndexSubsubitemBegin{source files}{headings for}{public releases}
|
|
|
|
When a new public release is generated, only the fields {\tt <file>},
|
|
{\tt <package>}, \mbox{{\tt <chapter>}} (if present), and {\tt <author(s)>}
|
|
are kept. The heading of the source file (generated by the
|
|
\texttt{make\_public\_header} script
|
|
(see Chapter~\ref{chap:releases})
|
|
will become something like this:
|
|
|
|
|
|
\begin{verbatim}
|
|
// ============================================================================
|
|
//
|
|
// Copyright (c) 1997-2000 The CGAL Consortium
|
|
//
|
|
// This software and related documentation is part of the
|
|
// Computational Geometry Algorithms Library (CGAL).
|
|
//
|
|
// This software and documentation is provided "as-is" and without warranty
|
|
// of any kind. In no event shall the CGAL Consortium be liable for any
|
|
// damage of any kind.
|
|
//
|
|
// Every use of CGAL requires a license.
|
|
//
|
|
// Academic research and teaching license
|
|
// - For academic research and teaching purposes, permission to use and copy
|
|
// the software and its documentation is hereby granted free of charge,
|
|
// provided that it is not a component of a commercial product, and this
|
|
// notice appears in all copies of the software and related documentation.
|
|
//
|
|
// Commercial licenses
|
|
// - A commercial license is available through Algorithmic Solutions,
|
|
// (http://www.algorithmic-solutions.com).
|
|
// - Commercial users may apply for an evaluation license by writing to
|
|
// Algorithmic Solutions (contact@algorithmic-solutions.com).
|
|
//
|
|
// The CGAL Consortium consists of Utrecht University (The Netherlands),
|
|
// ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany),
|
|
// INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg
|
|
// (Germany), Max-Planck-Institute Saarbrucken (Germany), RISC Linz (Austria),
|
|
// and Tel-Aviv University (Israel).
|
|
//
|
|
// ----------------------------------------------------------------------------
|
|
//
|
|
// release : CGAL-2.1
|
|
// release_date : 2000, January 11
|
|
//
|
|
// file : include/CGAL/Min_ellipse_2.h
|
|
// package : Min_ellipse_2 (3.5.4)
|
|
// chapter : Geometric Optimisation
|
|
// author(s) : Bernd Gaertner, Sven Schoenherr
|
|
//
|
|
// email : cgal@cs.uu.nl
|
|
//
|
|
// ============================================================================
|
|
\end{verbatim}
|
|
\ccIndexSubsubitemEnd{source files}{headings for}{public releases}
|
|
\ccIndexSubitemEnd{source files}{headings for}
|
|
|
|
|
|
\section{Requirements and recommendations}
|
|
\label{sec:code_format_doc_req_and_rec}
|
|
|
|
\noindent
|
|
Requirements:
|
|
\begin{itemize}
|
|
\item Follow the naming schemes outlined above.
|
|
\item Provide typedefs of template arguments as necessary to make the
|
|
template parameters accessible elsewhere.
|
|
\item Label member function and parameters with \ccc{const} where
|
|
appropriate
|
|
\item Use \CC-style type casts.
|
|
\item Protect header files from multiple inclusions.
|
|
\item Obey the code format rules outlined above.
|
|
\item Provide a header for each submitted file in the proper format.
|
|
\end{itemize}
|