cantera/ext/libexecstream
Ray Speth 82d467944f Eliminated temporary files from the ct2ctml conversion process
Added libstringstream, which maps stdin and stdout to std::iostream.
Using this library means we no longer create either the temporary .py
file or the ct2ctml.log file.

This also eliminates the synchronization problems that motivated the
sleep commands around the system call, so cti to ctml conversions are
significantly faster now.
2012-03-09 22:59:21 +00:00
..
doc Eliminated temporary files from the ct2ctml conversion process 2012-03-09 22:59:21 +00:00
posix Eliminated temporary files from the ct2ctml conversion process 2012-03-09 22:59:21 +00:00
test Eliminated temporary files from the ct2ctml conversion process 2012-03-09 22:59:21 +00:00
win Eliminated temporary files from the ct2ctml conversion process 2012-03-09 22:59:21 +00:00
exec-stream.cpp Eliminated temporary files from the ct2ctml conversion process 2012-03-09 22:59:21 +00:00
exec-stream.h Eliminated temporary files from the ct2ctml conversion process 2012-03-09 22:59:21 +00:00
README Eliminated temporary files from the ct2ctml conversion process 2012-03-09 22:59:21 +00:00

This is version 0.3 of libexecstream, a C++ library 
that allows you to run a child process and have its input, 
output and error avaliable as standard C++ streams.

Copyright (c) 2004 Artem Khodush
Libexecstream is distributed under the BSD-style license,
see doc/license.html for the details.

Documentation:
    doc/index.html
    http://libexecstream/sourceforge.net/

Features:
    Works on Linux and Windows 
    Uses threads 
    Does not depend on any other non-standard library 
    Distributed as source code only, requires you to compile and link 
    one file into your program

Installaion:

Libexecstream is provided in source code form only. 
In order to use it, you need to compile and link one file, exec-stream.cpp, 
into your program. 

Header file exec-stream.h defines interface of the library and uses 
only standard C++. It does not include any platform-specific header files. 

On Linux, libexecstream was tested on Red Hat 9 with gcc compiler. 
Versions of gcc prior to 3.0 will not work. Make sure that exec-stream.h 
is found somewhere on the include path, compile exec-stream.cpp as usual, 
link your program with -lpthread. GCC must be configured with --enable-threads,
which is by default on most Linux distributions. 

On Windows, libexecstream was tested on XP and 95 flavors with VC++ 7 compiler.
VC++ 6 will not work. Make sure that exec-stream.h is found somewhere 
on the include path, compile exec-stream.cpp as usual, link you program 
with multi-threaded runtime. 

Example makefiles for Windows and Linux (used to build the testsute) 
are provided in the test subdirectory.