Elm  1.0
ELM is a library providing generic data structures, OS-independent interface, plugins and XML.
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
BlockOutStream.h
1 /*
2  * $Id$
3  * Copyright (c) 2005, IRIT-UPS <casse@irit.fr>
4  *
5  * elm/io/BlockOutStream.h -- BlockOutStream class interface.
6  */
7 #ifndef ELM_IO_BLOCK_OUT_STREAM_H
8 #define ELM_IO_BLOCK_OUT_STREAM_H
9 
10 #include <elm/io/OutStream.h>
11 #include <elm/block/DynBlock.h>
12 #include <elm/string/CString.h>
13 #include <elm/string/String.h>
14 
15 namespace elm { namespace io {
16 
17 // BlockOutStream class
18 class BlockOutStream: public OutStream {
19 public:
20  inline BlockOutStream(int size = 4096, int inc = 256): _block(size, inc) { }
21  inline const char *block(void) const { return _block.base(); }
22  inline int size(void) const { return _block.size(); }
23  inline char *detach(void) { return _block.detach(); }
24  inline void clear(void) { _block.reset(); }
25  inline void setSize(int size) { _block.setSize(size); }
26  CString toCString(void);
27  String toString(void);
28 
29  // OutStream overload
30  virtual int write(const char *buffer, int size);
31  virtual int write(char byte);
32  virtual int flush(void);
33 
34 private:
35  block::DynBlock _block;
36 };
37 
38 } } // elm::io
39 
40 #endif // ELM_IO_BLOCK_OUT_STREAM_H
Definition: BlockOutStream.h:18
IntFormat byte(t::uint8 b)
Definition: io_Output.cpp:873
Definition: CString.h:17
String toString(void)
Definition: io_BlockOutStream.cpp:122
CString toCString(void)
Definition: io_BlockOutStream.cpp:112
char * detach(void)
Definition: DynBlock.h:27
void setSize(int new_size)
Definition: DynBlock.h:24
char * detach(void)
Definition: BlockOutStream.h:23
Definition: OutStream.h:30
BlockOutStream(int size=4096, int inc=256)
Definition: BlockOutStream.h:20
void reset(void)
Definition: DynBlock.h:25
void clear(void)
Definition: BlockOutStream.h:24
virtual int flush(void)
Definition: io_BlockOutStream.cpp:101
void setSize(int size)
Definition: BlockOutStream.h:25
Definition: String.h:31
Definition: DynBlock.h:13
int size(void) const
Definition: BlockOutStream.h:22
int size(void) const
Definition: DynBlock.h:21
virtual int write(const char *buffer, int size)
Definition: io_BlockOutStream.cpp:85
const char * block(void) const
Definition: BlockOutStream.h:21
const char * base(void) const
Definition: DynBlock.h:26