summaryrefslogtreecommitdiff
path: root/src/mongo/bson/bsonelement.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/bson/bsonelement.h')
-rw-r--r--src/mongo/bson/bsonelement.h53
1 files changed, 33 insertions, 20 deletions
diff --git a/src/mongo/bson/bsonelement.h b/src/mongo/bson/bsonelement.h
index a012ee3c169..e3a0e37a2bc 100644
--- a/src/mongo/bson/bsonelement.h
+++ b/src/mongo/bson/bsonelement.h
@@ -212,26 +212,37 @@ public:
int depth = 0) const;
std::string jsonString(JsonStringFormat format,
+ bool includeSeparator,
bool includeFieldNames = true,
- int pretty = 0) const;
+ int pretty = 0,
+ size_t writeLimit = 0,
+ BSONObj* outTruncationResult = nullptr) const;
- void jsonStringBuffer(JsonStringFormat format,
- bool includeFieldNames,
- int pretty,
- fmt::memory_buffer& buffer) const;
-
- void jsonStringGenerator(ExtendedCanonicalV200Generator const& generator,
- bool includeFieldNames,
- int pretty,
- fmt::memory_buffer& buffer) const;
- void jsonStringGenerator(ExtendedRelaxedV200Generator const& generator,
- bool includeFieldNames,
- int pretty,
- fmt::memory_buffer& buffer) const;
- void jsonStringGenerator(LegacyStrictGenerator const& generator,
+ BSONObj jsonStringBuffer(JsonStringFormat format,
+ bool includeSeparator,
bool includeFieldNames,
int pretty,
- fmt::memory_buffer& buffer) const;
+ fmt::memory_buffer& buffer,
+ size_t writeLimit = 0) const;
+
+ BSONObj jsonStringGenerator(ExtendedCanonicalV200Generator const& generator,
+ bool includeSeparator,
+ bool includeFieldNames,
+ int pretty,
+ fmt::memory_buffer& buffer,
+ size_t writeLimit = 0) const;
+ BSONObj jsonStringGenerator(ExtendedRelaxedV200Generator const& generator,
+ bool includeSeparator,
+ bool includeFieldNames,
+ int pretty,
+ fmt::memory_buffer& buffer,
+ size_t writeLimit = 0) const;
+ BSONObj jsonStringGenerator(LegacyStrictGenerator const& generator,
+ bool includeSeparator,
+ bool includeFieldNames,
+ int pretty,
+ fmt::memory_buffer& buffer,
+ size_t writeLimit = 0) const;
operator std::string() const {
return toString();
@@ -772,10 +783,12 @@ public:
private:
template <typename Generator>
- void _jsonStringGenerator(const Generator& g,
- bool includeFieldNames,
- int pretty,
- fmt::memory_buffer& buffer) const;
+ BSONObj _jsonStringGenerator(const Generator& g,
+ bool includeSeparator,
+ bool includeFieldNames,
+ int pretty,
+ fmt::memory_buffer& buffer,
+ size_t writeLimit) const;
const char* data;
int fieldNameSize_; // internal size includes null terminator