mirror of https://github.com/CGAL/cgal
of "forwarding constructors".
Quoting some comment in the code:
"
This is a simple tag which is used as additional (first) argument in
some kernel functors, to tell them to return the base (rep) class,
instead of the main type (e.g. Kernel_base::Point_2 instead
of Kernel::Point_2). This is a minor optimization which prevents
useless copies of the "reps".
Those functors are only those used in the constructors of the kernel
types like Point_2, so it's limited.
The real solution will be to use "forwarding constructors", when they
will be available in C++.
In the mean time, this should be a mostly/hopefully internal hack.
"
|
||
|---|---|---|
| .. | ||
| doc_tex | ||
| examples/Kernel_23 | ||
| include/CGAL | ||
| src/CGAL | ||
| test/Kernel_23 | ||
| README | ||
| changes.txt | ||
| description.txt | ||
| dont_submit | ||
| maintainer | ||
README
When adding a new function object to the kernel you must:
-- possibly change include/CGAL/Kernel/function_objects.h
to add a new function object "builder" in namespace CGALi::
-- change include/CGAL/Kernel/interface_macros.h
to add the actual function object class and its corresponding
member function that returns an object of this class
-- change test/Kernel/include/CGAL/_test_new_2.h and/or
test/Kernel/include/CGAL/_test_new_3.h to add the test
for this function object.
-- in the directory doc_tex/kernel/Ref add a file called
Kernel_<NewFunctionObject> that describes the requirements for
this function object type (see the other similarly named files in this
directory)
-- This functor should have a SeeAlso entry for the global function(s)
or class(es) that provide the same functionality in the imperative
interface
-- add <New_function_object> to the set of requirements for the Kernel
concept in the file doc_tex/kernel/Ref/Kernel.tex.
-- in the file doc_tex/kernel/Ref/ref_manual.tex add the command
\input{Ref/Kernel_<New function object>}
in the proper place
-- in the file doc_tex/kernel/kernel_toc add a ccRefConceptPage command
for the page in the proper place.