\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.12 - IO Streams
CGAL::Verbose_ostream Class Reference

#include <CGAL/IO/Verbose_ostream.h>

Definition

The class Verbose_ostream can be used as an output stream.

The stream output operator << is defined for any type. The class Verbose_ostream stores in an internal state a stream and whether the output is active or not. If the state is active, the stream output operator << uses the internal stream to output its argument. If the state is inactive, nothing happens.

Example

The class Verbose_ostream can be conveniently used to implement for example the is_valid() member function for triangulations or other complex data structures.

bool is_valid( bool verbose = false, int level = 0) {
Verbose_ostream verr( verbose);
verr << "Triangulation::is_valid( level = " << level << ')' << endl;
verr << " Number of vertices = " << size_of_vertices() << endl;
// ...
}

Creation

 Verbose_ostream (bool active=false, std::ostream &out=std::cerr)
 creates an output stream with state set to active that writes to the stream out.
 

Operations

template<class T >
Verbose_ostreamoperator<< (const T &t)