CGAL Developers Manual
Table of Contents

Title
Table of Contents
1   Introduction
   1.1 Primary design goals
   1.2 The overall design
2   Coding Conventions
   2.1 Naming scheme
   2.2 Programming conventions
   2.3 Code format
   2.4 File header
   2.5 Requirements and recommendations
3   Geometry Kernels
   3.1 Different kernels
   3.2 Kernel design and conventions
   3.3 Number-type based predicates
   3.4 Missing functionality
4   Traits Classes
   4.1 What are traits classes in Cgal?
   4.2 Why are traits classes in Cgal?
   4.3 An example - planar convex hulls
   4.4 Kernel as traits
   4.5 Requirements and recommendations
5   Checks: Pre- and Postconditions, Assertions, and Warnings
   5.1 Categories of checks
   5.2 Using checks
   5.3 Controlling checks at a finer granularity
   5.4 Exception handling
   5.5 Requirements and recommendations
6   Reference Counting and Handle Types
   6.1 Reference counting
   6.2 Handle & Rep
   6.3 Using Handle & Rep
   6.4 Templated handles
   6.5 Using templated handles
   6.6 Allocation
7   Memory Management
   7.1 The allocator macro
   7.2 Using the allocator
   7.3 Requirements and recommendations
8   Namespaces
   8.1 Namespace CGAL
   8.2 Namespace internal
   8.3 Note on global template functions
   8.4 Requirements and recommendations
9   Polymorphic Return Types
10   Iterators, Circulators and Handles
   10.1 Iterator and circulator traits
   10.2 Input and output iterators
   10.3 Writing code with and for iterators, circulators, and handles
   10.4 Requirements and recommendations
11   Robustness Issues
   11.1 The role of predicates and constructions
   11.2 Requirements and recommendations
12   Portability Issues
   12.1 Checking for Leda or GMP support
   12.2 Using Boost
   12.3 Using the version-number and configuration macros and flags
   12.4 Identifying compilers and architectures
   12.5 Known problems and workarounds
   12.6 Requirements and recommendations
13   Debugging Tips
   13.1 Graphical debugging
   13.2 Cross-checkers
   13.3 Examining the values of variables
14   Editorial Board
15   Recommended Reading
Bibliography
Index