Evo C++ Library v0.5.1
|
Evo Input/Output streams with multithreading. More...
Go to the source code of this file.
Classes | |
struct | ConsoleMT |
Multithreaded console I/O. More... | |
struct | StreamMT< T > |
Stream with mutex for multithreaded synchronization. More... | |
struct | StreamMT< File > |
Stream with mutex for multithreaded synchronization, specialized for File. More... | |
Namespaces | |
evo | |
Evo C++ Library namespace. | |
Macros | |
#define | EVO_CATCH_MT(CODE) |
Catch Evo Exception and print thread-safe error message to stderr. More... | |
#define | EVO_CONSOLE_MT static evo::ConsoleMT& c = evo::con_mt() |
Shortcut to define a ConsoleMT for I/O. More... | |
#define | EVO_IO_MT(STREAM, CODE) { Mutex::Lock evo_streamlock_(STREAM .mutex); STREAM.stream CODE; } |
Lock mutex and run stream operation code. More... | |
#define | INCL_evo_iothread_h |
Typedefs | |
typedef StreamMT< File > | FileMT |
File with mutex for synchonization – see File and StreamMT<File> More... | |
typedef StreamMT< PipeIn > | PipeInMT |
Input pipe with mutex for synchonization – see StreamMT. More... | |
typedef StreamMT< PipeOut > | PipeOutMT |
Output pipe with mutex for synchonization – see StreamMT. More... | |
Functions | |
ConsoleMT & | con_mt () |
Shortcut for ConsoleMT::get(). More... | |
Evo Input/Output streams with multithreading.
#define EVO_CATCH_MT | ( | CODE | ) |
Catch Evo Exception and print thread-safe error message to stderr.
CODE | Code to run if exception is caught, abort() to terminate process, use just a semi-colon for none |
#define EVO_CONSOLE_MT static evo::ConsoleMT& c = evo::con_mt() |
Shortcut to define a ConsoleMT for I/O.
#define EVO_IO_MT | ( | STREAM, | |
CODE | |||
) | { Mutex::Lock evo_streamlock_(STREAM .mutex); STREAM.stream CODE; } |
Lock mutex and run stream operation code.
STREAM | StreamMT or StreamExtMT object to use |
CODE | Code to use on stream, this code goes right after the string object name, it may start with a dot (.) or operator like << |
#define INCL_evo_iothread_h |