|
CGAL 6.2 - IO Streams
|
#include <CGAL/IO/io.h>
CGAL::IO_rep_is_not_specialized_aux< Dummy >.
The purpose of Output_rep is to provide a way to control output formatting that works independently of the object's stream output operator.
If you don't specialize Output_rep for T, T's stream output operator is called from within Output_rep, by default. If you want another behavior for your type T, you have to provide a specialization for that type. Furthermore, you can provide specializations with a second template parameter (a formatting tag). The second template parameter defaults to Null_tag and means default behavior.
Specializations of Output_rep should provide the following features:
You can also specialize for a formatting tag F.
The constant is_specialized can be tested by meta-programming tools to verify that a given type can be used with oformat(). Its value has to be true in a specialization of Output_rep. When there is no specialization for a type, the class template Output_rep defines is_specialized to the default value false.
Public Member Functions | |
| Output_rep (const T &tt, F={}) | |
| initialize with a const reference to t. | |
| std::ostream & | operator() (std::ostream &os) const |
perform the output, calls operator<< by default. | |
Related Functions | |
(Note that these are not member functions.) | |
| template<class T , class F > | |
| std::ostream & | operator<< (std::ostream &os, Output_rep< T, F > rep) |
stream output of the Output_rep calls its operator(). | |
|
related |
stream output of the Output_rep calls its operator().
CGAL defines output operators for classes that are derived from the class std::ostream. This enables to write to output streams as std::cout or std::cerr, as well as to std::ostringstream and std::ofstream. The output operator is defined for all classes in the CGAL Kernel and for the class Color as well.