merged from branch b6aout

This commit is contained in:
Mariette Yvinec 1999-08-17 17:12:00 +00:00
parent 82162bf31d
commit aa552f7cd3
4 changed files with 3370 additions and 0 deletions

View File

@ -0,0 +1 @@
\input{triangulation.tex}

View File

@ -0,0 +1,92 @@
%% $RCSfile$
% $Revision$
% $Date$
\chapter{Handles} \label{I1_ChapterPointer}
\begin{ccClassTemplate}{Handle<T>}
\section{Requirements for a handle}
We present in this chapter the concept of a handle to an object
of type \ccc{T}. Basically a handle to an object of type \ccc{T}
behaves like a pointer to an object of type \ccc{T} except that it has
no increment nor decrement operators and does not deal with memory
allocation or deallocation. Essentially a
handle has two operators
* and \ccc{->} which gives access to the object pointed to.
%\begin{ccClassTemplate}{Handle<T>}
\ccTypes
\ccTypedef{typedef T value_type;}{}
\ccCreation
\ccCreationVariable{ht}
\ccThree{Handle<T>& }{operator==(const Pointer &hr);}{}
\ccThreeToTwo
\ccConstructor{Handle()}{\ccVar\ references no object.}
\ccGlue
\ccConstructor{Handle(const Handle<T>& hr);}{copy constructor}
\ccGlue
\ccConstructor{Handle(const T*& pt);}{constructs a reference from a
pointer \ccc{T*}.}
\ccMethod{Handle<T>& operator=(const T*& pr);} {\ccVar\ points to the object *pr}
\ccGlue
\ccMethod{Handle<T>& operator=(const Handle<T>& pr);} {\ccVar\ and pr point
to the same object.}
\ccGlue
%\ccMethod{void clear();} {sets \ccVar\ to reference no object.}
\ccHeading{Dereference}
\ccMethod{T& operator*();}{returns the object pointed to.}
\ccGlue
\ccMethod{T* operator->();}{returns a pointer to the object pointed to.}
%\ccHeading{Memory allocation}
%\ccMethod{void Delete();} {deallocate the memory referenced by \ccVar.}
\ccHeading{Equality}
%\ccMethod { bool is_null() const; }{ true if \ccVar\ references no
%object.}
%\ccGlue
\ccMethod{ bool operator==(const Handle<T>& hr) const;}
{true if \ccVar\ and \ccc{q} reference the same object.}
\ccGlue
\ccMethod{ bool operator!=(const Handle<T>& hr) const;}{true if
\ccVar\ and \ccc{hr} reference distinct objects.}
\end{ccClassTemplate}
\section{Model for a handle}
\begin{ccClassTemplate} {Pointer<T>}
\ccThree{typedef Pointer<T>}{Pointer}{}
\ccThreeToTwo
The class \ccClassTemplateName\ provides a model for a handle
pointing to an object
of class \ccc{T}.
\ccInclude{CGAL/Pointer.h}
Note that a simple pointer \ccc{T*},
an iterator or a circulator with value type \ccc{T},
can also be used as handles for object of type \ccc{T}.
\end{ccClassTemplate}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,48 @@
% +------------------------------------------------------------------------+
% | CGAL Reference Manual: wrapper.tex
% +------------------------------------------------------------------------+
% | Main TeX file for testing CGAL packages.
% +------------------------------------------------------------------------+
\documentclass{book}
\usepackage{cprog}
\usepackage{cc_manual}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{path}
\usepackage{ipe}
% page dimensions
% ---------------
% The page dimensions are compulsory and may not be changed in main.tex.
\textwidth 15.6cm
\textheight 23 cm
\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}
\cgalColumnLayout
\include{main}
\include{pointer}
\bibliographystyle{alpha}
\bibliography{geom,cgal}
\end{document}
%% EOF %%