Dune Core Modules (unstable)
debugstream.hh
Go to the documentation of this file.
3// SPDX-FileCopyrightInfo: Copyright © DUNE Project contributors, see file LICENSE.md in module root
252 std::cerr << "DebugStream destructor is called while other streams are still tied to it. Terminating!" << std::endl;
Intermediate class to implement tie-operation of DebugStream.
Definition: debugstream.hh:158
A few common exception classes.
DebugStream(std::ostream &out=std::cerr)
Create a DebugStream and set initial output stream.
Definition: debugstream.hh:199
DebugStream & flush()
pass on flush to underlying output stream
Definition: debugstream.hh:320
void attach(std::ostream &stream)
set output to a different stream.
Definition: debugstream.hh:371
void detach()
detach current output stream and restore to previous stream
Definition: debugstream.hh:383
void pop()
restore previously set activation flag
Definition: debugstream.hh:349
bool active() const
reports if this stream will produce output
Definition: debugstream.hh:363
bool _active
flag to switch output during runtime
Definition: debugstream.hh:165
unsigned int _tied_streams
how many streams are tied to this state
Definition: debugstream.hh:171
void tie(DebugStreamState &to)
Tie a stream to this one.
Definition: debugstream.hh:397
void push(bool b)
set activation flag and store old value
Definition: debugstream.hh:335
bool _tied
are we tied to another DebugStream?
Definition: debugstream.hh:168
StreamWrap * current
current output stream and link to possibly pushed old output streams
Definition: debugstream.hh:162
DebugStream & operator<<(const T data)
Generic types are passed on to current output stream.
Definition: debugstream.hh:267
DebugStream(DebugStreamState &master, std::ostream &fallback=std::cerr)
Create a DebugStream and directly tie to another DebugStream.
Definition: debugstream.hh:219
DebugStream & operator<<(const int data)
explicit specialization so that enums can be printed
Definition: debugstream.hh:289
DebugStream & operator<<(std::ostream &(*f)(std::ostream &))
pass on manipulators to underlying output stream
Definition: debugstream.hh:305
Mask< V > mask(ADLTag< 0, std::is_same< V, Mask< V > >::value >, const V &v)
implements Simd::mask()
Definition: defaults.hh:153
activate if current and mask have common bits switched on.
Definition: debugstream.hh:142
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Nov 21, 23:30, 2024)