NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.3: NDN, CCN, CCNx, content centric networks
API Documentation
indented-stream.hpp
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
22 #ifndef NDN_UTIL_INDENTED_STREAM_HPP
23 #define NDN_UTIL_INDENTED_STREAM_HPP
24 
25 #include <ostream>
26 #include <sstream>
27 #include <string>
28 
29 namespace ndn {
30 namespace util {
31 
54 class IndentedStream : public std::ostream
55 {
56 public:
57  IndentedStream(std::ostream& os, const std::string& indent);
58 
59  virtual
60  ~IndentedStream() override;
61 
62 private:
63  // Write a stream buffer that prefixes each line
64  class StreamBuf : public std::stringbuf
65  {
66  public:
67  StreamBuf(std::ostream& os, const std::string& indent);
68 
69  virtual int
70  sync() override;
71 
72  private:
73  std::ostream& m_output;
74  std::string m_indent;
75  };
76 
77  StreamBuf m_buffer;
78 };
79 
80 } // namespace util
81 } // namespace ndn
82 
83 #endif // NDN_UTIL_INDENTED_STREAM_HPP
Copyright (c) 2011-2015 Regents of the University of California.
virtual ~IndentedStream() override
IndentedStream(std::ostream &os, const std::string &indent)
Output to stream with specified indent or prefix.