mirror of
https://github.com/jbeder/yaml-cpp.git
synced 2025-09-10 04:51:17 +00:00
Added constructor to the Emitter with a stream, so you can write directly to a stream instead of our temp
This commit is contained in:
@@ -25,6 +25,7 @@ namespace YAML
|
||||
{
|
||||
public:
|
||||
Emitter();
|
||||
explicit Emitter(std::ostream& stream);
|
||||
~Emitter();
|
||||
|
||||
// output
|
||||
@@ -114,8 +115,8 @@ namespace YAML
|
||||
bool CanEmitNewline() const;
|
||||
|
||||
private:
|
||||
ostream_wrapper m_stream;
|
||||
std::auto_ptr<EmitterState> m_pState;
|
||||
ostream_wrapper m_stream;
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
|
@@ -15,6 +15,7 @@ namespace YAML
|
||||
{
|
||||
public:
|
||||
ostream_wrapper();
|
||||
explicit ostream_wrapper(std::ostream& stream);
|
||||
~ostream_wrapper();
|
||||
|
||||
void write(const std::string& str);
|
||||
@@ -23,8 +24,12 @@ namespace YAML
|
||||
void set_comment() { m_comment = true; }
|
||||
|
||||
const char *str() const {
|
||||
m_buffer[m_pos] = NULL;
|
||||
return &m_buffer[0];
|
||||
if(m_pStream) {
|
||||
return NULL;
|
||||
} else {
|
||||
m_buffer[m_pos] = NULL;
|
||||
return &m_buffer[0];
|
||||
}
|
||||
}
|
||||
|
||||
std::size_t row() const { return m_row; }
|
||||
@@ -37,6 +42,7 @@ namespace YAML
|
||||
|
||||
private:
|
||||
mutable std::vector<char> m_buffer;
|
||||
std::ostream *m_pStream;
|
||||
|
||||
std::size_t m_pos;
|
||||
std::size_t m_row, m_col;
|
||||
|
Reference in New Issue
Block a user