created ref pages for iostream package

This commit is contained in:
Mariette Yvinec 2002-04-10 13:38:51 +00:00
parent b097a30db1
commit b4d2b8b041
32 changed files with 1478 additions and 100 deletions

View File

@ -1,27 +1,30 @@
\cleardoublepage
\chapter{Operators for IO streams}\label{ChapterIO}
\chapter{Operators for IO Streams} \label{Chapter_operator_for_IO_streams}
All classes in the \cgal\ kernel provide input and output operators for
IOStreams. The basic task of such an operator is to produce a
IO streams. The basic task of such an operator is to produce a
representation of an object that can be written as a sequence of
characters on devices as a console, a file, or a pipe. In \cgal\
we distinguish between a raw {\sc Ascii}, a raw binary and a
we distinguish between a raw ascii, a raw binary and a
pretty printing format.
\ccEnum{IO::Mode = {ASCII = 0, BINARY, PRETTY};}{}
\ccEnum{Mode = {ASCII = 0, BINARY, PRETTY};}{}
The first one just writes number, e.g.\ the coordinates of a point or
the coefficients of a line in a machine independent format. The second
one writes the data in a binary format, e.g.\ a double is represented
as a sequence of four byte. The format depends on the machine. The
last one serves mainly for debugging as the type of the geometric
In \ccc{ASCII} mode, objects are written as
a set of numbers, e.g.\ the coordinates of a point or
the coefficients of a line, in a machine independent format.
In \ccc{BINARY} mode,
data are written in a binary format, e.g.\ a double is represented
as a sequence of four byte. The format depends on the machine.
The mode \ccc{PRETTY}
serves mainly for debugging as the type of the geometric
object is written, as well as the data defining the object. For example
for a point at the origin with Cartesian double coordinates, the output
would be \ccc{PointC2(0.0, 0.0)}. At the moment \cgal\ does not
provide input operations for pretty printed data. By default a stream
is in {\sc Ascii} mode.
is in {\sc ascii} mode.
\ccThree{IO::Mode}{set_mode(std::ios& s, IO::Mode m);}{}
@ -46,32 +49,31 @@ The following functions allow to test whether a stream is in a certain mode.
\ccFunction{bool is_pretty(std::ios& s);}{}
\newpage
%\newpage
\ccThree{ostream&}{operator<<( const Class &c);}{}
\begin{ccClass} {ostream}
\section{Output Streams}
\ccCreationVariable{os}
%\begin{ccClass} {ostream}
\section{Output Operator}
%\ccCreationVariable{os}
\ccDefinition
\cgal\ defines output operators for classes that are derived
from the class \ccStyle{ostream}. This allows to write to ostreams
as \ccStyle{cout} or \ccStyle{cerr}, as well as to strstreams
and fstreams. Let \ccVar\ be an output stream.
\ccOperations
and fstreams.
The output operator is defined for all classes in the \cgal\ kernel and for the class \ccc{Color} as well.
Let \ccc{os} be an output stream.
\ccMethod{ostream& operator<<( const Class &c);}
{Inserts object \ccStyle{c} in the stream. }
\ccFunction{ostream& operator>>(ostream& os, Class c);}
{Inserts object \ccStyle{c} in the stream \ccc{os}. Returns \ccc{os}.}
\ccExample
\begin{cprog}
#include <CGAL/config.h>
#include <CGAL/basic.h>
#include <iostream>
#include <fstream>
@ -96,33 +98,30 @@ int main()
return 1;
}
\end{cprog}
\end{ccClass}
%\end{ccClass}
\newpage
\begin{ccClass} {istream}
\section{Input Streams}
\ccCreationVariable{is}
%\newpage
%\begin{ccClass} {istream}
\section{Input Operator}
\ccDefinition
\cgal\ defines input operators for classes that are derived
from the class \ccStyle{istream}. This allows to read from istreams
as \ccStyle{cin}, as well as from strstreams and fstreams.
Let \ccVar\ be an input stream.
\ccOperations
The input operator is defined for all classes in the \cgal\ kernel.
Let \ccc{is} be an input stream.
\ccMethod{istream& operator>>(Class c);}
{Extracts object \ccStyle{c} from the stream.}
\ccFunction{istream& operator>>(istream& is, Class c);}
{Extracts object \ccStyle{c} from the stream \ccc{is}. Returns \ccc{is}.}
\ccExample
\begin{cprog}
#include <CGAL/config.h>
#include <CGAL/basic.h>
#include <iostream>
#include <fstream>
@ -148,4 +147,4 @@ main()
return 1;
}
\end{cprog}
\end{ccClass}
%\end{ccClass}

View File

@ -0,0 +1,89 @@
% +------------------------------------------------------------------------+
% | Reference manual page: Mode.tex
% +------------------------------------------------------------------------+
% | 09.04.2002 Author
% | Package: Package
% |
\RCSdef{\RCSModeRev}{$Revision$}
\RCSdefDate{\RCSModeDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefEnum}{Mode} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[enum]{} %% add further index entries
\ccDefinition
All classes in the \cgal\ kernel provide input and output operators for
IOStreams. The basic task of such an operator is to produce a
representation of an object that can be written as a sequence of
characters on devices as a console, a file, or a pipe. The enum \ccRefName\
distinguish between three different printing formats.
In \ccc{ASCII} mode, numbers
e.g.\ the coordinates of a point or
the coefficients of a line, are written
in a machine independent format.
In {\sc BINARY} mode, data are written
in a binary format, e.g.\ a double is represented
as a sequence of four byte. The format depends on the machine.
The mode {\sc PRETTY}
serves mainly for debugging as the type of the geometric
object is written, as well as the data defining the object. For example
for a point at the origin with Cartesian double coordinates, the output
would be \ccc{PointC2(0.0, 0.0)}. At the moment \cgal\ does not
provide input operations for pretty printed data. By default a stream
is in {\sc Ascii} mode.
\ccGlobalEnum{enum Mode { ASCII = 0, BINARY, PRETTY };}
\ccRefLabel{ASCII}
\ccRefLabel{BINARY}
\ccRefLabel{PRETTY}
\ccHtmlCrossLink{ASCII}
\ccHtmlCrossLink{BINARY}
\ccHtmlCrossLink{PRETTY}
\ccHtmlIndexC[enum_tags]{ASCII}
\ccHtmlIndexC[enum_tags]{BINARY}
\ccHtmlIndexC[enum_tags]{PRETTY}
\ccSeeAlso
\ccRefIdfierPage{CGAL::set_mode} \\
\ccRefIdfierPage{CGAL::set_ascii_mode} \\
\ccRefIdfierPage{CGAL::set_binary_mode} \\
\ccRefIdfierPage{CGAL::set_pretty_mode} \\
\ccRefIdfierPage{CGAL::get_mode} \\
\ccRefIdfierPage{CGAL::is_ascii} \\
\ccRefIdfierPage{CGAL::is_binary} \\
\ccRefIdfierPage{CGAL::is_pretty} \\
%\ccExample
%A short example program.
%Instead of a short program fragment, a full running program can be
%included using the
%\verb|\ccIncludeExampleCode{examples/Package/Mode_prog.C}|
%macro. The program example would be part of the source code distribution and
%also part of the automatic test suite.
%\begin{ccExampleCode}
%void your_example_code() {
%}
%\end{ccExampleCode}
%% \ccIncludeExampleCode{examples/Package/Mode_prog.C}
\end{ccRefEnum}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,38 @@
% +------------------------------------------------------------------------+
% | Reference manual page: get_mode.tex
% +------------------------------------------------------------------------+
% | 09.04.2002 Author
% | Package: Package
% |
\RCSdef{\RCSgetmodeRev}{$Revision$}
\RCSdefDate{\RCSgetmodeDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefFunction}{get_mode} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[function]{} %% add further index entries
\ccFunction{Mode get_mode(std::ios& s);}
{returns the printing mode of the IO stream \ccc{s}.}
\ccSeeAlso
\ccRefIdfierPage{CGAL::Mode} \\
\ccRefIdfierPage{CGAL::set_mode} \\
\ccRefIdfierPage{CGAL::set_ascii_mode} \\
\ccRefIdfierPage{CGAL::set_binary_mode} \\
\ccRefIdfierPage{CGAL::set_pretty_mode} \\
\ccRefIdfierPage{CGAL::is_ascii} \\
\ccRefIdfierPage{CGAL::is_binary} \\
\ccRefIdfierPage{CGAL::is_pretty} \\
\end{ccRefFunction}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,12 @@
% +------------------------------------------------------------------------+
% | CBP Reference Manual: html_main.tex
% +------------------------------------------------------------------------+
% | Automatically generated driver file for the reference manual chapter
% | of this package used for the HTML conversion.
% | Do not edit manually, you may loose your changes.
% +------------------------------------------------------------------------+
\input{../cebap.sty}
\input{intro.tex}

View File

@ -0,0 +1,75 @@
% +------------------------------------------------------------------------+
% | Reference manual page: input_op.tex
% +------------------------------------------------------------------------+
% | 10.04.2002 Author
% | Package: Package
% |
\RCSdef{\RCSinputopRev}{$Revision$}
\RCSdefDate{\RCSinputopDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefFunction}{operator>>} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[function]{} %% add further index entries
\ccDefinition
\cgal\ defines input operators for classes that are derived
from the class \ccStyle{istream}. This allows to read from istreams
as \ccStyle{cin}, as well as from strstreams and fstreams.
The input operator is defined for all classes in the \cgal\ kernel.
\ccFunction{istream& operator>>(istream& is, Class c);}
{Extracts object \ccStyle{c} from the stream \ccc{is}. Returns \ccc{is}.}
\ccSeeAlso
\ccRefIdfierPage{CGAL::set_mode} \\
\ccRefIdfierPage{CGAL::set_ascii_mode} \\
\ccRefIdfierPage{CGAL::set_binary_mode} \\
\ccRefIdfierPage{CGAL::set_pretty_mode} \\
\ccRefIdfierPage{CGAL::get_mode} \\
\ccRefIdfierPage{CGAL::is_ascii} \\
\ccRefIdfierPage{CGAL::is_binary} \\
\ccRefIdfierPage{CGAL::is_pretty} \\
\ccRefIdfierPage{CGAL::operator<<}
\ccExample
\begin{cprog}
#include <CGAL/basic.h>
#include <iostream>
#include <fstream>
#include <CGAL/Cartesian.h>
#include <CGAL/Segment_2.h>
typedef CGAL::Point_2< CGAL::Cartesian<double> > Point;
typedef CGAL::Segment_2< CGAL::Cartesian<double> > Segment;
int
main()
{
Point p, q;
Segment s;
CGAL::set_ascii_mode(std::cin);
std::cin >> p >> q;
std::ifstream f("data.txt");
CGAL::set_binary_mode(f);
f >> s >> p;
return 1;
}
\end{cprog}
\end{ccRefFunction}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,41 @@
% +------------------------------------------------------------------------+
% | Reference manual page: Triangulation_2.tex
% +------------------------------------------------------------------------+
% | 10 04 2002 Mariette Yvinec
% | Package: iostream
% |
\RCSdef{\RCSTriangulationRev}{$Revision$}
\RCSdefDate{\RCSTriangulationDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
%\clearpage
%\section{Reference pages for iostream}
\chapter{Operators for IO Stream}
All classes in the \cgal\ kernel provide input and output operators for
IO streams.
\cgal\ provides three different printing mode, defined in the enum
\ccc{Mode}, as well as different functions to set and get
the printing mode.
\subsection*{Enum}
\ccRefIdfierPage{CGAL::Mode} \\
\subsection*{Functions}
\ccRefIdfierPage{CGAL::get_mode} \\
\ccRefIdfierPage{CGAL::is_ascii} \\
\ccRefIdfierPage{CGAL::is_binary} \\
\ccRefIdfierPage{CGAL::is_pretty} \\
\ccRefIdfierPage{CGAL::set_mode} \\
\ccRefIdfierPage{CGAL::set_ascii_mode} \\
\ccRefIdfierPage{CGAL::set_binary_mode} \\
\ccRefIdfierPage{CGAL::set_pretty_mode} \\
\ccRefIdfierPage{CGAL::operator>>} \\
\ccRefIdfierPage{CGAL::operator<<}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,43 @@
% +------------------------------------------------------------------------+
% | Reference manual page: is_ascii.tex
% +------------------------------------------------------------------------+
% | 09.04.2002 Author
% | Package: Package
% |
\RCSdef{\RCSisasciiRev}{$Revision$}
\RCSdefDate{\RCSisasciiDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefFunction}{is_ascii} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[function]{} %% add further index entries
\ccFunction{bool is_ascii(std::ios& s);}
{ checks if the IO stream \ccc{s} is in \ccc{ASCII} mode.}
\ccSeeAlso
\ccRefIdfierPage{CGAL::Mode} \\
\ccRefIdfierPage{CGAL::set_mode} \\
\ccRefIdfierPage{CGAL::set_ascii_mode} \\
\ccRefIdfierPage{CGAL::set_binary_mode} \\
\ccRefIdfierPage{CGAL::set_pretty_mode} \\
\ccRefIdfierPage{CGAL::get_mode} \\
\ccRefIdfierPage{CGAL::is_binary} \\
\ccRefIdfierPage{CGAL::is_pretty} \\
\end{ccRefFunction}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,40 @@
% +------------------------------------------------------------------------+
% | Reference manual page: is_binary.tex
% +------------------------------------------------------------------------+
% | 09.04.2002 Author
% | Package: Package
% |
\RCSdef{\RCSisbinaryRev}{$Revision$}
\RCSdefDate{\RCSisbinaryDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefFunction}{is_binary} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[function]{} %% add further index entries
\ccFunction{bool is_binary(std::ios& s);}
{ checks if the IO stream \ccc{s} is in \ccc{BINARY} mode.}
\ccSeeAlso
\ccRefIdfierPage{CGAL::Mode} \\
\ccRefIdfierPage{CGAL::set_mode} \\
\ccRefIdfierPage{CGAL::set_ascii_mode} \\
\ccRefIdfierPage{CGAL::set_binary_mode} \\
\ccRefIdfierPage{CGAL::set_pretty_mode} \\
\ccRefIdfierPage{CGAL::get_mode} \\
\ccRefIdfierPage{CGAL::is_ascii} \\
\ccRefIdfierPage{CGAL::is_pretty} \\
\end{ccRefFunction}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,41 @@
% +------------------------------------------------------------------------+
% | Reference manual page: is_pretty.tex
% +------------------------------------------------------------------------+
% | 09.04.2002 Author
% | Package: Package
% |
\RCSdef{\RCSisprettyRev}{$Revision$}
\RCSdefDate{\RCSisprettyDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefFunction}{is_pretty} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[function]{} %% add further index entries
\ccFunction{bool is_pretty(std::ios& s);}
{ checks if the IO stream \ccc{s} is in \ccc{PRETTY} mode.}
\ccSeeAlso
\ccRefIdfierPage{CGAL::Mode} \\
\ccRefIdfierPage{CGAL::set_mode} \\
\ccRefIdfierPage{CGAL::set_ascii_mode} \\
\ccRefIdfierPage{CGAL::set_binary_mode} \\
\ccRefIdfierPage{CGAL::set_pretty_mode} \\
\ccRefIdfierPage{CGAL::get_mode} \\
\ccRefIdfierPage{CGAL::is_ascii} \\
\ccRefIdfierPage{CGAL::is_binary}
\end{ccRefFunction}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,22 @@
% +------------------------------------------------------------------------+
% | CBP Reference Manual: main.tex
% +------------------------------------------------------------------------+
% | Automatically generated driver file for the reference manual chapter
% | of this package. Do not edit manually, you may loose your changes.
% +------------------------------------------------------------------------+
\input{IOstream_ref/intro.tex}
\input{IOstream_ref/get_mode.tex}
\input{IOstream_ref/input_operator.tex}
\input{IOstream_ref/is_ascii.tex}
\input{IOstream_ref/is_binary.tex}
\input{IOstream_ref/is_pretty.tex}
\input{IOstream_ref/Mode.tex}
\input{IOstream_ref/output_operator.tex}
\input{IOstream_ref/set_ascii_mode.tex}
\input{IOstream_ref/set_binary_mode.tex}
\input{IOstream_ref/set_mode.tex}
\input{IOstream_ref/set_pretty_mode.tex}
%% EOF

View File

@ -0,0 +1,78 @@
% +------------------------------------------------------------------------+
% | Reference manual page: output_op.tex
% +------------------------------------------------------------------------+
% | 10.04.2002 Author
% | Package: Package
% |
\RCSdef{\RCSoutputopRev}{$Revision$}
\RCSdefDate{\RCSoutputopDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefFunction}{operator<<} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[function]{} %% add further index entries
\ccDefinition
\cgal\ defines output operators for classes that are derived
from the class \ccStyle{ostream}. This allows to write to ostreams
as \ccStyle{cout} or \ccStyle{cerr}, as well as to strstreams
and fstreams.
The output operator is defined for all classes in the \cgal\ kernel and for the class \ccc{Color} as well.
Let \ccc{os} be an output stream.
\ccFunction{ostream& operator>>(ostream& os, Class c);}
{Inserts object \ccStyle{c} in the stream \ccc{os}. Returns \ccc{os}.}
\ccSeeAlso
\ccRefIdfierPage{CGAL::set_mode} \\
\ccRefIdfierPage{CGAL::set_ascii_mode} \\
\ccRefIdfierPage{CGAL::set_binary_mode} \\
\ccRefIdfierPage{CGAL::set_pretty_mode} \\
\ccRefIdfierPage{CGAL::get_mode} \\
\ccRefIdfierPage{CGAL::is_ascii} \\
\ccRefIdfierPage{CGAL::is_binary} \\
\ccRefIdfierPage{CGAL::is_pretty} \\
\ccRefIdfierPage{CGAL::operator>>}
\ccExample
\begin{cprog}
#include <CGAL/basic.h>
#include <iostream>
#include <fstream>
#include <CGAL/Cartesian.h>
#include <CGAL/Segment_2.h>
typedef CGAL::Point_2< CGAL::Cartesian<double> > Point;
typedef CGAL::Segment_2< CGAL::Cartesian<double> > Segment;
int main()
{
Point p(0,1), q(2,2);
Segment s(p,q);
CGAL::set_pretty_mode(std::cout);
std::cout << p << std::endl << q << std::endl;
std::ofstream f("data.txt");
CGAL::set_binary_mode(f);
f << s << p ;
return 1;
}
\end{cprog}
\end{ccRefFunction}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,41 @@
% +------------------------------------------------------------------------+
% | Reference manual page: set_ascii_mode.tex
% +------------------------------------------------------------------------+
% | 09.04.2002 Author
% | Package: Package
% |
\RCSdef{\RCSsetasciimodeRev}{$Revision$}
\RCSdefDate{\RCSsetasciimodeDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefFunction}{set_ascii_mode} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[function]{} %% add further index entries
\ccFunction{Mode set_ascii_mode(std::ios& s);}
{ sets the mode of the IO stream \ccc{s} to be the \ccc{ASCII} mode.
Returns the previous mode of \ccc{s}.}
\ccSeeAlso
\ccRefIdfierPage{CGAL::Mode} \\
\ccRefIdfierPage{CGAL::set_mode} \\
\ccRefIdfierPage{CGAL::set_binary_mode} \\
\ccRefIdfierPage{CGAL::set_pretty_mode} \\
\ccRefIdfierPage{CGAL::get_mode} \\
\ccRefIdfierPage{CGAL::is_ascii} \\
\ccRefIdfierPage{CGAL::is_binary} \\
\ccRefIdfierPage{CGAL::is_pretty} \\
\end{ccRefFunction}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,40 @@
% +------------------------------------------------------------------------+
% | Reference manual page: set_binary_mode.tex
% +------------------------------------------------------------------------+
% | 09.04.2002 Author
% | Package: Package
% |
\RCSdef{\RCSsetbinarymodeRev}{$Revision$}
\RCSdefDate{\RCSsetbinarymodeDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefFunction}{set_binary_mode} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[function]{} %% add further index entries
\ccFunction{Mode set_binary_mode(std::ios& s);}
{ sets the mode of the IO stream \ccc{s} to be the \ccc{BINARY} mode.
Returns the previous mode of \ccc{s}.}
\ccSeeAlso
\ccRefIdfierPage{CGAL::Mode} \\
\ccRefIdfierPage{CGAL::set_mode} \\
\ccRefIdfierPage{CGAL::set_ascii__mode} \\
\ccRefIdfierPage{CGAL::set_pretty_mode} \\
\ccRefIdfierPage{CGAL::get_mode} \\
\ccRefIdfierPage{CGAL::is_ascii} \\
\ccRefIdfierPage{CGAL::is_binary} \\
\ccRefIdfierPage{CGAL::is_pretty}
\end{ccRefFunction}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,43 @@
% +------------------------------------------------------------------------+
% | Reference manual page: set_mode.tex
% +------------------------------------------------------------------------+
% | 09.04.2002 Author
% | Package: Package
% |
\RCSdef{\RCSsetmodeRev}{$Revision$}
\RCSdefDate{\RCSsetmodeDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefFunction}{set_mode} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[function]{} %% add further index entries
\ccFunction{Mode set_mode(std::ios& s, IO::Mode m);}
{sets the printing mode of the IO stream \ccc{s}.}
\ccSeeAlso
\ccRefIdfierPage{CGAL::Mode} \\
\ccRefIdfierPage{CGAL::set_ascii_mode} \\
\ccRefIdfierPage{CGAL::set_binary_mode} \\
\ccRefIdfierPage{CGAL::set_pretty_mode} \\
\ccRefIdfierPage{CGAL::get_mode} \\
\ccRefIdfierPage{CGAL::is_ascii} \\
\ccRefIdfierPage{CGAL::is_binary} \\
\ccRefIdfierPage{CGAL::is_pretty}
\end{ccRefFunction}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,40 @@
% +------------------------------------------------------------------------+
% | Reference manual page: set_pretty_mode.tex
% +------------------------------------------------------------------------+
% | 09.04.2002 Author
% | Package: Package
% |
\RCSdef{\RCSsetprettymodeRev}{$Revision$}
\RCSdefDate{\RCSsetprettymodeDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefFunction}{set_pretty_mode} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[function]{} %% add further index entries
\ccFunction{Mode set_pretty_mode(std::ios& s);}
{ sets the mode of the IO stream \ccc{s} to be the \ccc{PRETTY} mode.
Returns the previous mode of \ccc{s}.}
\ccSeeAlso
\ccRefIdfierPage{CGAL::Mode} \\
\ccRefIdfierPage{CGAL::set_mode} \\
\ccRefIdfierPage{CGAL::set_ascii_mode} \\
\ccRefIdfierPage{CGAL::set_binary_mode} \\
\ccRefIdfierPage{CGAL::get_mode} \\
\ccRefIdfierPage{CGAL::is_ascii} \\
\ccRefIdfierPage{CGAL::is_binary} \\
\ccRefIdfierPage{CGAL::is_pretty}
\end{ccRefFunction}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -7,11 +7,17 @@
\documentclass{book}
\usepackage{cprog}
\usepackage{cc_manual}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{path}
\usepackage{ipe}
\usepackage{alltt} % convinient for programs + a bit of formatting
\usepackage{cc_manual} % the style what all is about here
\usepackage{cc_manual_index} % the style file for indexing the manual
\usepackage{latex_converter} % the LaTeX to HTML converter style file
\usepackage{amssymb} % some more math symbols, needed for \mathbb
\usepackage{path} % for URL's (WWW addresses)
\usepackage{graphicx} % for PostScript figures
\usepackage{ipe} % for IPE figures
\usepackage{makeidx} % for the index
\usepackage{minitoc} % for the minitable of contents
% page dimensions
% ---------------
@ -22,26 +28,67 @@
\topmargin -14mm
\evensidemargin 3mm
\oddsidemargin 3mm
% default column layout
% ---------------------
% This is the recommended layout. It may be changed inside main.tex.
\newcommand{\cgalColumnLayout}{\ccTexHtml{%
\ccSetThreeColumns{CGAL_Oriented_side}{}{\hspace*{8.5cm}}
\ccPropagateThreeToTwoColumns}{}}
\sloppy
\begin{document}
\makeindex % so the indexing commands have some effect
% New manual style including tab markers on the side margins
% ----------------------------------------------------------
\marginparsep12mm
\marginparwidth13mm
\gdef\ccNewRefManualStyle{\ccTrue} % undef this for old style manual
% The tab marker are aligned with the top of the main text. To align
% them with the page header, the following redefinition of the actual
% formatting command can be used.
\renewcommand{\ccDrawRefTabs}[2]{%
\marginpar{~\\\raisebox{12.5mm}[48mm]{%
\includegraphics{eps_tabs/cc_#1.eps}}}%
}
% Optionally, package authors and a package release can be shown
% right below the chapter title. Comment out the following lines
% to get back to the default behavior.
% -----------------------------------------------------------------
\def\ccTagChapterAuthor{\ccTrue}
\def\ccTagChapterRelease{\ccTrue}
% The colunm layout can be set for all reference pages. Since
% local changes are possible, it is a good idea to enforce the
% the global layout before each reference page. This way, local
% changes of the layout do not change pages in the remainder
% of the manual.
% ------------------------------------------------------------
\newcommand{\cgalColumnLayout}{% example setting of the CGAL manuals
\ccSetThreeColumns{CGAL_Oriented_side}{}{\hspace*{8.5cm}}%
\ccPropagateThreeToTwoColumns
}
\cgalColumnLayout
\include{main}
\def\ccRefPageBegin{\ccParDims\cgalColumnLayout}
\def\ccRefPageEnd{\ccParDims\cgalColumnLayout}
% We define the global scope here, for example, to be 'CGAL::'.
% -------------------------------------------------------------
\ccDefGlobalScope{CGAL::}
\begin{document}
\input{main}
\input{IOstream_ref/main}
\lcTex{\printindex}
\bibliographystyle{alpha}
\bibliography{geom,cgal}
\bibliography{geom}
\end{document}
%% EOF %%

View File

@ -1,27 +1,30 @@
\cleardoublepage
\chapter{Operators for IO streams}\label{ChapterIO}
\chapter{Operators for IO Streams} \label{Chapter_operator_for_IO_streams}
All classes in the \cgal\ kernel provide input and output operators for
IOStreams. The basic task of such an operator is to produce a
IO streams. The basic task of such an operator is to produce a
representation of an object that can be written as a sequence of
characters on devices as a console, a file, or a pipe. In \cgal\
we distinguish between a raw {\sc Ascii}, a raw binary and a
we distinguish between a raw ascii, a raw binary and a
pretty printing format.
\ccEnum{IO::Mode = {ASCII = 0, BINARY, PRETTY};}{}
\ccEnum{Mode = {ASCII = 0, BINARY, PRETTY};}{}
The first one just writes number, e.g.\ the coordinates of a point or
the coefficients of a line in a machine independent format. The second
one writes the data in a binary format, e.g.\ a double is represented
as a sequence of four byte. The format depends on the machine. The
last one serves mainly for debugging as the type of the geometric
In \ccc{ASCII} mode, objects are written as
a set of numbers, e.g.\ the coordinates of a point or
the coefficients of a line, in a machine independent format.
In \ccc{BINARY} mode,
data are written in a binary format, e.g.\ a double is represented
as a sequence of four byte. The format depends on the machine.
The mode \ccc{PRETTY}
serves mainly for debugging as the type of the geometric
object is written, as well as the data defining the object. For example
for a point at the origin with Cartesian double coordinates, the output
would be \ccc{PointC2(0.0, 0.0)}. At the moment \cgal\ does not
provide input operations for pretty printed data. By default a stream
is in {\sc Ascii} mode.
is in {\sc ascii} mode.
\ccThree{IO::Mode}{set_mode(std::ios& s, IO::Mode m);}{}
@ -46,32 +49,31 @@ The following functions allow to test whether a stream is in a certain mode.
\ccFunction{bool is_pretty(std::ios& s);}{}
\newpage
%\newpage
\ccThree{ostream&}{operator<<( const Class &c);}{}
\begin{ccClass} {ostream}
\section{Output Streams}
\ccCreationVariable{os}
%\begin{ccClass} {ostream}
\section{Output Operator}
%\ccCreationVariable{os}
\ccDefinition
\cgal\ defines output operators for classes that are derived
from the class \ccStyle{ostream}. This allows to write to ostreams
as \ccStyle{cout} or \ccStyle{cerr}, as well as to strstreams
and fstreams. Let \ccVar\ be an output stream.
\ccOperations
and fstreams.
The output operator is defined for all classes in the \cgal\ kernel and for the class \ccc{Color} as well.
Let \ccc{os} be an output stream.
\ccMethod{ostream& operator<<( const Class &c);}
{Inserts object \ccStyle{c} in the stream. }
\ccFunction{ostream& operator>>(ostream& os, Class c);}
{Inserts object \ccStyle{c} in the stream \ccc{os}. Returns \ccc{os}.}
\ccExample
\begin{cprog}
#include <CGAL/config.h>
#include <CGAL/basic.h>
#include <iostream>
#include <fstream>
@ -96,33 +98,30 @@ int main()
return 1;
}
\end{cprog}
\end{ccClass}
%\end{ccClass}
\newpage
\begin{ccClass} {istream}
\section{Input Streams}
\ccCreationVariable{is}
%\newpage
%\begin{ccClass} {istream}
\section{Input Operator}
\ccDefinition
\cgal\ defines input operators for classes that are derived
from the class \ccStyle{istream}. This allows to read from istreams
as \ccStyle{cin}, as well as from strstreams and fstreams.
Let \ccVar\ be an input stream.
\ccOperations
The input operator is defined for all classes in the \cgal\ kernel.
Let \ccc{is} be an input stream.
\ccMethod{istream& operator>>(Class c);}
{Extracts object \ccStyle{c} from the stream.}
\ccFunction{istream& operator>>(istream& is, Class c);}
{Extracts object \ccStyle{c} from the stream \ccc{is}. Returns \ccc{is}.}
\ccExample
\begin{cprog}
#include <CGAL/config.h>
#include <CGAL/basic.h>
#include <iostream>
#include <fstream>
@ -148,4 +147,4 @@ main()
return 1;
}
\end{cprog}
\end{ccClass}
%\end{ccClass}

View File

@ -0,0 +1,89 @@
% +------------------------------------------------------------------------+
% | Reference manual page: Mode.tex
% +------------------------------------------------------------------------+
% | 09.04.2002 Author
% | Package: Package
% |
\RCSdef{\RCSModeRev}{$Revision$}
\RCSdefDate{\RCSModeDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefEnum}{Mode} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[enum]{} %% add further index entries
\ccDefinition
All classes in the \cgal\ kernel provide input and output operators for
IOStreams. The basic task of such an operator is to produce a
representation of an object that can be written as a sequence of
characters on devices as a console, a file, or a pipe. The enum \ccRefName\
distinguish between three different printing formats.
In \ccc{ASCII} mode, numbers
e.g.\ the coordinates of a point or
the coefficients of a line, are written
in a machine independent format.
In {\sc BINARY} mode, data are written
in a binary format, e.g.\ a double is represented
as a sequence of four byte. The format depends on the machine.
The mode {\sc PRETTY}
serves mainly for debugging as the type of the geometric
object is written, as well as the data defining the object. For example
for a point at the origin with Cartesian double coordinates, the output
would be \ccc{PointC2(0.0, 0.0)}. At the moment \cgal\ does not
provide input operations for pretty printed data. By default a stream
is in {\sc Ascii} mode.
\ccGlobalEnum{enum Mode { ASCII = 0, BINARY, PRETTY };}
\ccRefLabel{ASCII}
\ccRefLabel{BINARY}
\ccRefLabel{PRETTY}
\ccHtmlCrossLink{ASCII}
\ccHtmlCrossLink{BINARY}
\ccHtmlCrossLink{PRETTY}
\ccHtmlIndexC[enum_tags]{ASCII}
\ccHtmlIndexC[enum_tags]{BINARY}
\ccHtmlIndexC[enum_tags]{PRETTY}
\ccSeeAlso
\ccRefIdfierPage{CGAL::set_mode} \\
\ccRefIdfierPage{CGAL::set_ascii_mode} \\
\ccRefIdfierPage{CGAL::set_binary_mode} \\
\ccRefIdfierPage{CGAL::set_pretty_mode} \\
\ccRefIdfierPage{CGAL::get_mode} \\
\ccRefIdfierPage{CGAL::is_ascii} \\
\ccRefIdfierPage{CGAL::is_binary} \\
\ccRefIdfierPage{CGAL::is_pretty} \\
%\ccExample
%A short example program.
%Instead of a short program fragment, a full running program can be
%included using the
%\verb|\ccIncludeExampleCode{examples/Package/Mode_prog.C}|
%macro. The program example would be part of the source code distribution and
%also part of the automatic test suite.
%\begin{ccExampleCode}
%void your_example_code() {
%}
%\end{ccExampleCode}
%% \ccIncludeExampleCode{examples/Package/Mode_prog.C}
\end{ccRefEnum}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,38 @@
% +------------------------------------------------------------------------+
% | Reference manual page: get_mode.tex
% +------------------------------------------------------------------------+
% | 09.04.2002 Author
% | Package: Package
% |
\RCSdef{\RCSgetmodeRev}{$Revision$}
\RCSdefDate{\RCSgetmodeDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefFunction}{get_mode} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[function]{} %% add further index entries
\ccFunction{Mode get_mode(std::ios& s);}
{returns the printing mode of the IO stream \ccc{s}.}
\ccSeeAlso
\ccRefIdfierPage{CGAL::Mode} \\
\ccRefIdfierPage{CGAL::set_mode} \\
\ccRefIdfierPage{CGAL::set_ascii_mode} \\
\ccRefIdfierPage{CGAL::set_binary_mode} \\
\ccRefIdfierPage{CGAL::set_pretty_mode} \\
\ccRefIdfierPage{CGAL::is_ascii} \\
\ccRefIdfierPage{CGAL::is_binary} \\
\ccRefIdfierPage{CGAL::is_pretty} \\
\end{ccRefFunction}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,12 @@
% +------------------------------------------------------------------------+
% | CBP Reference Manual: html_main.tex
% +------------------------------------------------------------------------+
% | Automatically generated driver file for the reference manual chapter
% | of this package used for the HTML conversion.
% | Do not edit manually, you may loose your changes.
% +------------------------------------------------------------------------+
\input{../cebap.sty}
\input{intro.tex}

View File

@ -0,0 +1,75 @@
% +------------------------------------------------------------------------+
% | Reference manual page: input_op.tex
% +------------------------------------------------------------------------+
% | 10.04.2002 Author
% | Package: Package
% |
\RCSdef{\RCSinputopRev}{$Revision$}
\RCSdefDate{\RCSinputopDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefFunction}{operator>>} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[function]{} %% add further index entries
\ccDefinition
\cgal\ defines input operators for classes that are derived
from the class \ccStyle{istream}. This allows to read from istreams
as \ccStyle{cin}, as well as from strstreams and fstreams.
The input operator is defined for all classes in the \cgal\ kernel.
\ccFunction{istream& operator>>(istream& is, Class c);}
{Extracts object \ccStyle{c} from the stream \ccc{is}. Returns \ccc{is}.}
\ccSeeAlso
\ccRefIdfierPage{CGAL::set_mode} \\
\ccRefIdfierPage{CGAL::set_ascii_mode} \\
\ccRefIdfierPage{CGAL::set_binary_mode} \\
\ccRefIdfierPage{CGAL::set_pretty_mode} \\
\ccRefIdfierPage{CGAL::get_mode} \\
\ccRefIdfierPage{CGAL::is_ascii} \\
\ccRefIdfierPage{CGAL::is_binary} \\
\ccRefIdfierPage{CGAL::is_pretty} \\
\ccRefIdfierPage{CGAL::operator<<}
\ccExample
\begin{cprog}
#include <CGAL/basic.h>
#include <iostream>
#include <fstream>
#include <CGAL/Cartesian.h>
#include <CGAL/Segment_2.h>
typedef CGAL::Point_2< CGAL::Cartesian<double> > Point;
typedef CGAL::Segment_2< CGAL::Cartesian<double> > Segment;
int
main()
{
Point p, q;
Segment s;
CGAL::set_ascii_mode(std::cin);
std::cin >> p >> q;
std::ifstream f("data.txt");
CGAL::set_binary_mode(f);
f >> s >> p;
return 1;
}
\end{cprog}
\end{ccRefFunction}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,41 @@
% +------------------------------------------------------------------------+
% | Reference manual page: Triangulation_2.tex
% +------------------------------------------------------------------------+
% | 10 04 2002 Mariette Yvinec
% | Package: iostream
% |
\RCSdef{\RCSTriangulationRev}{$Revision$}
\RCSdefDate{\RCSTriangulationDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
%\clearpage
%\section{Reference pages for iostream}
\chapter{Operators for IO Stream}
All classes in the \cgal\ kernel provide input and output operators for
IO streams.
\cgal\ provides three different printing mode, defined in the enum
\ccc{Mode}, as well as different functions to set and get
the printing mode.
\subsection*{Enum}
\ccRefIdfierPage{CGAL::Mode} \\
\subsection*{Functions}
\ccRefIdfierPage{CGAL::get_mode} \\
\ccRefIdfierPage{CGAL::is_ascii} \\
\ccRefIdfierPage{CGAL::is_binary} \\
\ccRefIdfierPage{CGAL::is_pretty} \\
\ccRefIdfierPage{CGAL::set_mode} \\
\ccRefIdfierPage{CGAL::set_ascii_mode} \\
\ccRefIdfierPage{CGAL::set_binary_mode} \\
\ccRefIdfierPage{CGAL::set_pretty_mode} \\
\ccRefIdfierPage{CGAL::operator>>} \\
\ccRefIdfierPage{CGAL::operator<<}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,43 @@
% +------------------------------------------------------------------------+
% | Reference manual page: is_ascii.tex
% +------------------------------------------------------------------------+
% | 09.04.2002 Author
% | Package: Package
% |
\RCSdef{\RCSisasciiRev}{$Revision$}
\RCSdefDate{\RCSisasciiDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefFunction}{is_ascii} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[function]{} %% add further index entries
\ccFunction{bool is_ascii(std::ios& s);}
{ checks if the IO stream \ccc{s} is in \ccc{ASCII} mode.}
\ccSeeAlso
\ccRefIdfierPage{CGAL::Mode} \\
\ccRefIdfierPage{CGAL::set_mode} \\
\ccRefIdfierPage{CGAL::set_ascii_mode} \\
\ccRefIdfierPage{CGAL::set_binary_mode} \\
\ccRefIdfierPage{CGAL::set_pretty_mode} \\
\ccRefIdfierPage{CGAL::get_mode} \\
\ccRefIdfierPage{CGAL::is_binary} \\
\ccRefIdfierPage{CGAL::is_pretty} \\
\end{ccRefFunction}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,40 @@
% +------------------------------------------------------------------------+
% | Reference manual page: is_binary.tex
% +------------------------------------------------------------------------+
% | 09.04.2002 Author
% | Package: Package
% |
\RCSdef{\RCSisbinaryRev}{$Revision$}
\RCSdefDate{\RCSisbinaryDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefFunction}{is_binary} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[function]{} %% add further index entries
\ccFunction{bool is_binary(std::ios& s);}
{ checks if the IO stream \ccc{s} is in \ccc{BINARY} mode.}
\ccSeeAlso
\ccRefIdfierPage{CGAL::Mode} \\
\ccRefIdfierPage{CGAL::set_mode} \\
\ccRefIdfierPage{CGAL::set_ascii_mode} \\
\ccRefIdfierPage{CGAL::set_binary_mode} \\
\ccRefIdfierPage{CGAL::set_pretty_mode} \\
\ccRefIdfierPage{CGAL::get_mode} \\
\ccRefIdfierPage{CGAL::is_ascii} \\
\ccRefIdfierPage{CGAL::is_pretty} \\
\end{ccRefFunction}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,41 @@
% +------------------------------------------------------------------------+
% | Reference manual page: is_pretty.tex
% +------------------------------------------------------------------------+
% | 09.04.2002 Author
% | Package: Package
% |
\RCSdef{\RCSisprettyRev}{$Revision$}
\RCSdefDate{\RCSisprettyDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefFunction}{is_pretty} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[function]{} %% add further index entries
\ccFunction{bool is_pretty(std::ios& s);}
{ checks if the IO stream \ccc{s} is in \ccc{PRETTY} mode.}
\ccSeeAlso
\ccRefIdfierPage{CGAL::Mode} \\
\ccRefIdfierPage{CGAL::set_mode} \\
\ccRefIdfierPage{CGAL::set_ascii_mode} \\
\ccRefIdfierPage{CGAL::set_binary_mode} \\
\ccRefIdfierPage{CGAL::set_pretty_mode} \\
\ccRefIdfierPage{CGAL::get_mode} \\
\ccRefIdfierPage{CGAL::is_ascii} \\
\ccRefIdfierPage{CGAL::is_binary}
\end{ccRefFunction}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,22 @@
% +------------------------------------------------------------------------+
% | CBP Reference Manual: main.tex
% +------------------------------------------------------------------------+
% | Automatically generated driver file for the reference manual chapter
% | of this package. Do not edit manually, you may loose your changes.
% +------------------------------------------------------------------------+
\input{IOstream_ref/intro.tex}
\input{IOstream_ref/get_mode.tex}
\input{IOstream_ref/input_operator.tex}
\input{IOstream_ref/is_ascii.tex}
\input{IOstream_ref/is_binary.tex}
\input{IOstream_ref/is_pretty.tex}
\input{IOstream_ref/Mode.tex}
\input{IOstream_ref/output_operator.tex}
\input{IOstream_ref/set_ascii_mode.tex}
\input{IOstream_ref/set_binary_mode.tex}
\input{IOstream_ref/set_mode.tex}
\input{IOstream_ref/set_pretty_mode.tex}
%% EOF

View File

@ -0,0 +1,78 @@
% +------------------------------------------------------------------------+
% | Reference manual page: output_op.tex
% +------------------------------------------------------------------------+
% | 10.04.2002 Author
% | Package: Package
% |
\RCSdef{\RCSoutputopRev}{$Revision$}
\RCSdefDate{\RCSoutputopDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefFunction}{operator<<} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[function]{} %% add further index entries
\ccDefinition
\cgal\ defines output operators for classes that are derived
from the class \ccStyle{ostream}. This allows to write to ostreams
as \ccStyle{cout} or \ccStyle{cerr}, as well as to strstreams
and fstreams.
The output operator is defined for all classes in the \cgal\ kernel and for the class \ccc{Color} as well.
Let \ccc{os} be an output stream.
\ccFunction{ostream& operator>>(ostream& os, Class c);}
{Inserts object \ccStyle{c} in the stream \ccc{os}. Returns \ccc{os}.}
\ccSeeAlso
\ccRefIdfierPage{CGAL::set_mode} \\
\ccRefIdfierPage{CGAL::set_ascii_mode} \\
\ccRefIdfierPage{CGAL::set_binary_mode} \\
\ccRefIdfierPage{CGAL::set_pretty_mode} \\
\ccRefIdfierPage{CGAL::get_mode} \\
\ccRefIdfierPage{CGAL::is_ascii} \\
\ccRefIdfierPage{CGAL::is_binary} \\
\ccRefIdfierPage{CGAL::is_pretty} \\
\ccRefIdfierPage{CGAL::operator>>}
\ccExample
\begin{cprog}
#include <CGAL/basic.h>
#include <iostream>
#include <fstream>
#include <CGAL/Cartesian.h>
#include <CGAL/Segment_2.h>
typedef CGAL::Point_2< CGAL::Cartesian<double> > Point;
typedef CGAL::Segment_2< CGAL::Cartesian<double> > Segment;
int main()
{
Point p(0,1), q(2,2);
Segment s(p,q);
CGAL::set_pretty_mode(std::cout);
std::cout << p << std::endl << q << std::endl;
std::ofstream f("data.txt");
CGAL::set_binary_mode(f);
f << s << p ;
return 1;
}
\end{cprog}
\end{ccRefFunction}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,41 @@
% +------------------------------------------------------------------------+
% | Reference manual page: set_ascii_mode.tex
% +------------------------------------------------------------------------+
% | 09.04.2002 Author
% | Package: Package
% |
\RCSdef{\RCSsetasciimodeRev}{$Revision$}
\RCSdefDate{\RCSsetasciimodeDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefFunction}{set_ascii_mode} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[function]{} %% add further index entries
\ccFunction{Mode set_ascii_mode(std::ios& s);}
{ sets the mode of the IO stream \ccc{s} to be the \ccc{ASCII} mode.
Returns the previous mode of \ccc{s}.}
\ccSeeAlso
\ccRefIdfierPage{CGAL::Mode} \\
\ccRefIdfierPage{CGAL::set_mode} \\
\ccRefIdfierPage{CGAL::set_binary_mode} \\
\ccRefIdfierPage{CGAL::set_pretty_mode} \\
\ccRefIdfierPage{CGAL::get_mode} \\
\ccRefIdfierPage{CGAL::is_ascii} \\
\ccRefIdfierPage{CGAL::is_binary} \\
\ccRefIdfierPage{CGAL::is_pretty} \\
\end{ccRefFunction}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,40 @@
% +------------------------------------------------------------------------+
% | Reference manual page: set_binary_mode.tex
% +------------------------------------------------------------------------+
% | 09.04.2002 Author
% | Package: Package
% |
\RCSdef{\RCSsetbinarymodeRev}{$Revision$}
\RCSdefDate{\RCSsetbinarymodeDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefFunction}{set_binary_mode} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[function]{} %% add further index entries
\ccFunction{Mode set_binary_mode(std::ios& s);}
{ sets the mode of the IO stream \ccc{s} to be the \ccc{BINARY} mode.
Returns the previous mode of \ccc{s}.}
\ccSeeAlso
\ccRefIdfierPage{CGAL::Mode} \\
\ccRefIdfierPage{CGAL::set_mode} \\
\ccRefIdfierPage{CGAL::set_ascii__mode} \\
\ccRefIdfierPage{CGAL::set_pretty_mode} \\
\ccRefIdfierPage{CGAL::get_mode} \\
\ccRefIdfierPage{CGAL::is_ascii} \\
\ccRefIdfierPage{CGAL::is_binary} \\
\ccRefIdfierPage{CGAL::is_pretty}
\end{ccRefFunction}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,43 @@
% +------------------------------------------------------------------------+
% | Reference manual page: set_mode.tex
% +------------------------------------------------------------------------+
% | 09.04.2002 Author
% | Package: Package
% |
\RCSdef{\RCSsetmodeRev}{$Revision$}
\RCSdefDate{\RCSsetmodeDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefFunction}{set_mode} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[function]{} %% add further index entries
\ccFunction{Mode set_mode(std::ios& s, IO::Mode m);}
{sets the printing mode of the IO stream \ccc{s}.}
\ccSeeAlso
\ccRefIdfierPage{CGAL::Mode} \\
\ccRefIdfierPage{CGAL::set_ascii_mode} \\
\ccRefIdfierPage{CGAL::set_binary_mode} \\
\ccRefIdfierPage{CGAL::set_pretty_mode} \\
\ccRefIdfierPage{CGAL::get_mode} \\
\ccRefIdfierPage{CGAL::is_ascii} \\
\ccRefIdfierPage{CGAL::is_binary} \\
\ccRefIdfierPage{CGAL::is_pretty}
\end{ccRefFunction}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,40 @@
% +------------------------------------------------------------------------+
% | Reference manual page: set_pretty_mode.tex
% +------------------------------------------------------------------------+
% | 09.04.2002 Author
% | Package: Package
% |
\RCSdef{\RCSsetprettymodeRev}{$Revision$}
\RCSdefDate{\RCSsetprettymodeDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefFunction}{set_pretty_mode} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[function]{} %% add further index entries
\ccFunction{Mode set_pretty_mode(std::ios& s);}
{ sets the mode of the IO stream \ccc{s} to be the \ccc{PRETTY} mode.
Returns the previous mode of \ccc{s}.}
\ccSeeAlso
\ccRefIdfierPage{CGAL::Mode} \\
\ccRefIdfierPage{CGAL::set_mode} \\
\ccRefIdfierPage{CGAL::set_ascii_mode} \\
\ccRefIdfierPage{CGAL::set_binary_mode} \\
\ccRefIdfierPage{CGAL::get_mode} \\
\ccRefIdfierPage{CGAL::is_ascii} \\
\ccRefIdfierPage{CGAL::is_binary} \\
\ccRefIdfierPage{CGAL::is_pretty}
\end{ccRefFunction}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -7,11 +7,17 @@
\documentclass{book}
\usepackage{cprog}
\usepackage{cc_manual}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{path}
\usepackage{ipe}
\usepackage{alltt} % convinient for programs + a bit of formatting
\usepackage{cc_manual} % the style what all is about here
\usepackage{cc_manual_index} % the style file for indexing the manual
\usepackage{latex_converter} % the LaTeX to HTML converter style file
\usepackage{amssymb} % some more math symbols, needed for \mathbb
\usepackage{path} % for URL's (WWW addresses)
\usepackage{graphicx} % for PostScript figures
\usepackage{ipe} % for IPE figures
\usepackage{makeidx} % for the index
\usepackage{minitoc} % for the minitable of contents
% page dimensions
% ---------------
@ -22,26 +28,67 @@
\topmargin -14mm
\evensidemargin 3mm
\oddsidemargin 3mm
% default column layout
% ---------------------
% This is the recommended layout. It may be changed inside main.tex.
\newcommand{\cgalColumnLayout}{\ccTexHtml{%
\ccSetThreeColumns{CGAL_Oriented_side}{}{\hspace*{8.5cm}}
\ccPropagateThreeToTwoColumns}{}}
\sloppy
\begin{document}
\makeindex % so the indexing commands have some effect
% New manual style including tab markers on the side margins
% ----------------------------------------------------------
\marginparsep12mm
\marginparwidth13mm
\gdef\ccNewRefManualStyle{\ccTrue} % undef this for old style manual
% The tab marker are aligned with the top of the main text. To align
% them with the page header, the following redefinition of the actual
% formatting command can be used.
\renewcommand{\ccDrawRefTabs}[2]{%
\marginpar{~\\\raisebox{12.5mm}[48mm]{%
\includegraphics{eps_tabs/cc_#1.eps}}}%
}
% Optionally, package authors and a package release can be shown
% right below the chapter title. Comment out the following lines
% to get back to the default behavior.
% -----------------------------------------------------------------
\def\ccTagChapterAuthor{\ccTrue}
\def\ccTagChapterRelease{\ccTrue}
% The colunm layout can be set for all reference pages. Since
% local changes are possible, it is a good idea to enforce the
% the global layout before each reference page. This way, local
% changes of the layout do not change pages in the remainder
% of the manual.
% ------------------------------------------------------------
\newcommand{\cgalColumnLayout}{% example setting of the CGAL manuals
\ccSetThreeColumns{CGAL_Oriented_side}{}{\hspace*{8.5cm}}%
\ccPropagateThreeToTwoColumns
}
\cgalColumnLayout
\include{main}
\def\ccRefPageBegin{\ccParDims\cgalColumnLayout}
\def\ccRefPageEnd{\ccParDims\cgalColumnLayout}
% We define the global scope here, for example, to be 'CGAL::'.
% -------------------------------------------------------------
\ccDefGlobalScope{CGAL::}
\begin{document}
\input{main}
\input{IOstream_ref/main}
\lcTex{\printindex}
\bibliographystyle{alpha}
\bibliography{geom,cgal}
\bibliography{geom}
\end{document}
%% EOF %%