aboutsummaryrefslogtreecommitdiffhomepage
path: root/io.h
diff options
context:
space:
mode:
authorGravatar Cheer Xiao <xiaqqaix@gmail.com>2013-01-16 11:27:50 +0800
committerGravatar Cheer Xiao <xiaqqaix@gmail.com>2013-01-17 15:55:05 +0800
commita63c0311bbd7ce2831a7b130f07b3a703d51201b (patch)
treed8f16c6be703f1c0af24676024a105370075eaaf /io.h
parent9808829ece19fce949a0accde6f2a0f4c4b2202b (diff)
Make io_buffer_t::out_buffer a raw pointer, initialize in io_buffer_t's constructor
Diffstat (limited to 'io.h')
-rw-r--r--io.h14
1 files changed, 2 insertions, 12 deletions
diff --git a/io.h b/io.h
index a50c54e5..08420262 100644
--- a/io.h
+++ b/io.h
@@ -120,11 +120,11 @@ class io_buffer_t : public io_pipe_t
{
private:
/** buffer to save output in */
- shared_ptr<std::vector<char> > out_buffer;
+ std::vector<char> *out_buffer;
io_buffer_t(int f):
io_pipe_t(f),
- out_buffer()
+ out_buffer(new std::vector<char>)
{
io_mode = IO_BUFFER;
}
@@ -134,36 +134,26 @@ public:
virtual ~io_buffer_t();
- /** Function to create the output buffer */
- void out_buffer_create()
- {
- out_buffer.reset(new std::vector<char>);
- }
-
/** Function to append to the buffer */
void out_buffer_append(const char *ptr, size_t count)
{
- assert(out_buffer.get() != NULL);
out_buffer->insert(out_buffer->end(), ptr, ptr + count);
}
/** Function to get a pointer to the buffer */
char *out_buffer_ptr(void)
{
- assert(out_buffer.get() != NULL);
return out_buffer->empty() ? NULL : &out_buffer->at(0);
}
const char *out_buffer_ptr(void) const
{
- assert(out_buffer.get() != NULL);
return out_buffer->empty() ? NULL : &out_buffer->at(0);
}
/** Function to get the size of the buffer */
size_t out_buffer_size(void) const
{
- assert(out_buffer.get() != NULL);
return out_buffer->size();
}