44class EXPCL_DTOOL_DTOOLUTIL PipeStreamBuf :
public std::streambuf {
46 enum Direction { Input, Output };
48 PipeStreamBuf(Direction);
49 virtual ~PipeStreamBuf(
void);
52 void command(
const std::string);
55 virtual int overflow(
int c);
56 virtual int sync(
void);
57 virtual int underflow(
void);
61 bool eof_pipe()
const;
62 bool open_pipe(
const std::string &cmd);
64 size_t write_pipe(
const char *data,
size_t len);
65 size_t read_pipe(
char *data,
size_t len);
68 std::string _line_buffer;
77 void write_chars(
const char*,
int,
bool);