diff options
author | Oz Linden <oz@lindenlab.com> | 2016-08-11 14:08:49 -0400 |
---|---|---|
committer | Oz Linden <oz@lindenlab.com> | 2016-08-11 14:08:49 -0400 |
commit | 436119268da41d45f95e3cf3e4a2954f114d6891 (patch) | |
tree | 62deb0d4bf3b4189966538587a1b91e8ce8210e0 /indra | |
parent | ac10109dfa2f014dcc1992cda413ef58759f3448 (diff) |
add convenience function ll_stream_notation_sd for compact representation of llsd
Diffstat (limited to 'indra')
-rw-r--r-- | indra/llcommon/llsdutil.cpp | 11 | ||||
-rw-r--r-- | indra/llcommon/llsdutil.h | 2 |
2 files changed, 13 insertions, 0 deletions
diff --git a/indra/llcommon/llsdutil.cpp b/indra/llcommon/llsdutil.cpp index 6ad4a97149..8ccd915e6d 100644 --- a/indra/llcommon/llsdutil.cpp +++ b/indra/llcommon/llsdutil.cpp @@ -193,6 +193,17 @@ char* ll_pretty_print_sd(const LLSD& sd) return buffer; } +std::string ll_stream_notation_sd(const LLSD& sd) +{ + std::ostringstream stream; + //stream.rdbuf()->pubsetbuf(buffer, bufferSize); + stream << LLSDOStreamer<LLSDNotationFormatter>(sd); + stream << std::ends; + + return stream.str(); +} + + //compares the structure of an LLSD to a template LLSD and stores the //"valid" values in a 3rd LLSD. Default values pulled from the template //if the tested LLSD does not contain the key/value pair. diff --git a/indra/llcommon/llsdutil.h b/indra/llcommon/llsdutil.h index 99cb79aa54..01ab6bcb8d 100644 --- a/indra/llcommon/llsdutil.h +++ b/indra/llcommon/llsdutil.h @@ -56,6 +56,8 @@ LL_COMMON_API char* ll_print_sd(const LLSD& sd); LL_COMMON_API char* ll_pretty_print_sd_ptr(const LLSD* sd); LL_COMMON_API char* ll_pretty_print_sd(const LLSD& sd); +LL_COMMON_API std::string ll_stream_notation_sd(const LLSD& sd); + //compares the structure of an LLSD to a template LLSD and stores the //"valid" values in a 3rd LLSD. Default values //are pulled from the template. Extra keys/values in the test |