From 995bb0c6c18c679ca4d805c131ece5fd39afdde4 Mon Sep 17 00:00:00 2001 From: Michael Hemmer Date: Mon, 11 Apr 2011 16:50:22 +0000 Subject: [PATCH] update --- .../doc_tex/Developers_manual/traits_classes.tex | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Developers_manual/doc_tex/Developers_manual/traits_classes.tex b/Developers_manual/doc_tex/Developers_manual/traits_classes.tex index d7f8959a400..80e5f93c0ee 100644 --- a/Developers_manual/doc_tex/Developers_manual/traits_classes.tex +++ b/Developers_manual/doc_tex/Developers_manual/traits_classes.tex @@ -17,8 +17,16 @@ The concept of a traits class is central to \cgal. The name ``traits class'' comes from a standard \CC\ design pattern \cite{cgal:m-tnutt-95}; you may have heard about iterator traits which -follow this design pattern. In \cgal, traits classes are something -different, although the philosophy is similar in a certain sense. +follow this design pattern. +The traits class is used in template code to reflect properties (traits) +of the actual template argument. +On the lower levels, such as the number types, +the traits classes in \cgal\ indeed follow this pattern. +However, in higher level packages the term traits class is used in a slightly +different spirit. The most noticeable change is that the traits class becomes +the template argument. This allows to bundle several template +arguments and provides more flexibility as explained in the subsequent +sections. \section{What are traits classes in \cgal?\label{sec:what_is_a_traits_class}} \ccIndexMainItemDef{traits class}