mirror of
https://github.com/Tencent/rapidjson.git
synced 2025-03-06 13:41:35 +01:00
Provide a Flush() API within Writer
This is helpful if you’re writing code that needs to control flush behavior and you don’t want to pass around your buffer object to each handler function alongside the writer. Seems like an easy convenience to add.
This commit is contained in:
parent
c7703f8313
commit
31c6c50ac6
@ -152,7 +152,7 @@ public:
|
||||
(void)ret;
|
||||
RAPIDJSON_ASSERT(ret == true);
|
||||
if (Base::level_stack_.Empty()) // end of json text
|
||||
Base::os_->Flush();
|
||||
Base::Flush();
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -176,7 +176,7 @@ public:
|
||||
(void)ret;
|
||||
RAPIDJSON_ASSERT(ret == true);
|
||||
if (Base::level_stack_.Empty()) // end of json text
|
||||
Base::os_->Flush();
|
||||
Base::Flush();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -267,6 +267,14 @@ public:
|
||||
return EndValue(WriteRawValue(json, length));
|
||||
}
|
||||
|
||||
//! Flush the output stream.
|
||||
/*!
|
||||
Allows the user to flush the output stream immediately.
|
||||
*/
|
||||
void Flush() {
|
||||
os_->Flush();
|
||||
}
|
||||
|
||||
protected:
|
||||
//! Information for each nested level
|
||||
struct Level {
|
||||
@ -473,7 +481,7 @@ protected:
|
||||
// Flush the value if it is the top level one.
|
||||
bool EndValue(bool ret) {
|
||||
if (RAPIDJSON_UNLIKELY(level_stack_.Empty())) // end of json text
|
||||
os_->Flush();
|
||||
Flush();
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user