CGAL 6.0 - 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 dont specialize Output_rep
for T
, T
's stream output operator is called from within Output_rep
, by default. If you want another behaviour 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 behaviour.
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 ostream
. This enables to write to ostreams as cout
or 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.