Navigation:
Up
,
Table of Contents
,
Short Table of Contents
,
Package Overview
,
Bibliography
,
Index
,
Title Page
CGAL Developers Manual
Table of Contents
Title Page
Table of Contents
Short Table of Contents
1 Introduction
1.1
Manual organization
1.2
Primary design goals
1.3
The overall design
2 Specification Documentation
2.1
File and directory organization
2.2
The manual tools
2.3
Users' manual
2.4
Reference manual
2.5
Figures
2.6
Indexing
2.7
Test suite
2.8
Common problems and solutions
2.9
Requirements and recommendations
3 SVN Server
3.1
Structure of the repository
3.2
Access to the repository
3.3
How to use it
4 Directory Structure for Packages
4.1
test
subdirectory
4.2
doc_tex
subdirectory
4.3
examples
subdirectory
4.4
demo
subdirectory
4.5
Requirements and recommendations
5 Scripts and Other Tools
5.1
create_assertions.sh
5.2
remove_line_directives
5.3
rename_clib_calls
5.4
cgal_create_makefile
5.5
create_cgal_test
5.6
autotest_cgal
5.7
create_internal_module
5.8
create_modules
5.9
check_licenses
6 Coding Conventions
6.1
Naming scheme
6.2
Programming conventions
6.3
Code format
6.4
File header
6.5
Requirements and recommendations
7 Geometry Kernels
7.1
Cartesian and homogeneous representation
7.2
Cartesian versus homogeneous computation
7.3
Available kernels
7.4
Kernel design and conventions
7.5
Number-type based predicates
7.6
Missing functionality
8 Traits Classes
8.1
What are traits classes in C
GAL
?
8.2
Why are traits classes in C
GAL
?
8.3
An example - planar convex hulls
8.4
Kernel as traits
8.5
Requirements and recommendations
9 Checks: Pre- and Postconditions, Assertions, and Warnings
9.1
Categories of checks
9.2
Using checks
9.3
Controlling checks at a finer granularity
9.4
Exception handling
9.5
Requirements and recommendations
10 Reference Counting and Handle Types
10.1
Reference counting
10.2
Handle & Rep
10.3
Using Handle & Rep
10.4
Templated handles
10.5
Using templated handles
10.6
Allocation
11 Memory Management
11.1
The C
++
standard allocator interface
11.2
The allocator macro
11.3
Using the allocator
11.4
Requirements and recommendations
12 Namespaces
12.1
What are namespaces
12.2
Namespace std
12.3
Namespace CGAL
12.4
Name lookup
12.5
Namespace CGAL::NTS
12.6
Requirements and recommendations
13 Polymorphic Return Types
14 Iterators and Circulators (and Handles)
14.1
Iterator and circulator traits
14.2
Input and output iterators
14.3
Writing code with and for iterators, circulators, and handles
14.4
Requirements and recommendations
15 Robustness Issues
15.1
The role of predicates and constructions
15.2
Requirements and recommendations
16 Portability Issues
16.1
Checking for L
EDA
or GMP support
16.2
Using Boost
16.3
Identifying C
GAL
and L
EDA
versions
16.4
Using the version-number and configuration macros and flags
16.5
Identifying compilers and architectures
16.6
Known problems and workarounds
16.7
Requirements and recommendations
17 Testing
17.1
What a test suite for a package should contain
17.2
Using the code coverage tool
gcov
17.3
Test suite directory
17.4
Test suite input
17.5
Running the test suite
17.6
Files generated by the test suite
17.7
Test suite results
17.8
Requirements and recommendations
18 Debugging Tips
18.1
Graphical debugging
18.2
Cross-checkers
18.3
Examining the values of variables
18.4
Requirements and recommendations
19 Example and Demo Programs
19.1
Coding conventions
19.2
The Programs
19.3
Including programs in documentation
19.4
Demo programs on the web
19.5
Requirements and recommendations
20 Submitting Packages
20.1
Editorial committee
20.2
Electronic submission
20.3
When something goes wrong
20.4
Requirements and recommendations
21 Making Releases
21.1
Internal Releases
21.2
Public Releases
22 The C
GAL
Web Site
22.1
SVN cgal-web Project and Maintenance
22.2
Regular Tasks
23 Mailing Lists and Addresses
24 Sources of Information
24.1
Recommended reading
24.2
Web documents and pages
Bibliography
Index
Navigation:
Table of Contents
,
Short Table of Contents
,
Package Overview
,
Bibliography
,
Index
,
Title Page
CGAL Open Source Project
. Release 3.2.1. 13 July 2006.