cgal/Manual/doc_tex/Introduction/namespace.tex

20 lines
1019 B
TeX

% namespace.tex
All names introduced by \cgal, especially those documented in these
manuals, are in a namespace called \ccc{CGAL}, which is in global
scope. A user can either qualify names from \cgal\ by adding
\ccc{CGAL::}, e.g., \ccc{CGAL::Point_2< CGAL::Homogeneous< int> >},
make a single name from \cgal\ visible in a scope via a \ccc{using}
statement, e.g., \ccc{using CGAL::Cartesian;}, and then use this name
unqualified in this scope, or even make all names from namespace
\ccc{CGAL} visible in a scope with \ccc{using namespace CGAL;}. The
latter, however, is likely to give raise to name conflicts and is
therefore not recommended.
\section{Inclusion Order of Header files}
Not all compilers fully support standard header names. \cgal\ provides
workarounds for these problems in \ccc{CGAL/basic.h}. Consequently, as a
golden rule, you should always inlcude \ccc{CGAL/basic.h} first in your
programs (or \ccc{CGAL/Cartesian.h}, or \ccc{CGAL/Homogeneous.h}, since they
include \ccc{CGAL/basic.h} first).