dxd - dynax driver framework 3.0.1d223
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx_redirect.h File Reference
#include "dx_exception.h"
#include <iostream>
#include <fstream>
#include <sstream>
#include <map>
#include <deque>
#include <memory>
#include <vector>
#include <algorithm>
#include <mutex>
Include dependency graph for dx_redirect.h:
This graph shows which files directly or indirectly include this file:

Classes

class  dx::redirect::file
 a stream into a file, beside its other sinks: instances naming one path share its buffer - one per ASIO client, left in any order - and each line is written once More...
class  dx::redirect::indent
 one nesting level on a stream carrying an dx::redirect::indent::streambuf, taken for the object's scope: every line written inside it is prefixed. Levels nest LIFO per thread More...
struct  dx::redirect::indent::dflt
class  dx::redirect::indent::streambuf
 a stream's distributor: over the stream's own buffer while a sink is joined, the stream's own restored once the last one left - every write to each sink, a line's start prefixed by the writing thread's indent, a line sink given each line whole. Every distributor joins the stream's own buffer: the stream stays where it was, indented - a sink wanting the stream for itself leaves it (leave(*origin)). std::cout, std::clog and std::cerr get theirs at their first indent level or sink. A buffer joined twice is written once. Joining and leaving take the lock the writes take (io_mutex). More...
class  dx::redirect::join
 a buffer as a sink of a stream for the object's life - a sink's last member, so it leaves before the sink's own members go More...
class  dx::redirect::line
 a sink taking a stream's lines, each whole in one call, without its line end: what a system log, the debugger or an installation log keeps as an entry More...

Namespaces

namespace  dx
 dynax driver framework interface namespace
namespace  dx::redirect
 redirect std IO: a stream's distributor (dx::redirect::indent::streambuf) hands every write to the sinks joined to it - any std::streambuf: the stream's own, a file's, a line sink's (dx::redirect::line) - which join and leave in any order, each for its object's life (dx::redirect::join)

(c) copyright 2009 dynamic acoustics e.U. generated on

a closed source license may be obtained by requesting a written permission from dynamic acoustics e.U.
however - governmental use generally and military use especially is strictly prohibited though.