buffer-stream.cpp
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
22 #include "buffer-stream.hpp"
23 
24 namespace ndn {
25 namespace detail {
26 
28  : m_container(container)
29 {
30 }
31 
32 std::streamsize
33 BufferAppendDevice::write(const char_type* s, std::streamsize n)
34 {
35  m_container.insert(m_container.end(), s, s + n);
36  return n;
37 }
38 
39 } // namespace detail
40 
42  : m_buffer(make_shared<Buffer>())
43  , m_device(*m_buffer)
44 {
45  open(m_device);
46 }
47 
49 {
50  close();
51 }
52 
53 shared_ptr<Buffer>
55 {
56  flush();
57  return m_buffer;
58 }
59 
60 } // namespace ndn
Copyright (c) 2013-2017 Regents of the University of California.
Definition: common.hpp:66
BufferAppendDevice(Buffer &container)
shared_ptr< Buffer > buf()
Flush written data to the stream and return shared pointer to the underlying buffer.
std::streamsize write(const char_type *s, std::streamsize n)
General-purpose automatically managed/resized buffer.
Definition: buffer.hpp:40