|
Goby3 3.5.1
2026.06.04
|
#include <goby/util/thirdparty/nlohmann/json.hpp>
Public Member Functions | |
| serializer (output_adapter_t< char > s, const char ichar, error_handler_t error_handler_=error_handler_t::strict) | |
| serializer (const serializer &)=delete | |
| serializer & | operator= (const serializer &)=delete |
| serializer (serializer &&)=delete | |
| serializer & | operator= (serializer &&)=delete |
| ~serializer ()=default | |
| void | dump (const BasicJsonType &val, const bool pretty_print, const bool ensure_ascii, const unsigned int indent_step, const unsigned int current_indent=0) |
| internal implementation of the serialization function | |
| for (std::size_t i=0;i< s.size();++i) | |
| if (JSON_HEDLEY_LIKELY(state==UTF8_ACCEPT)) | |
Public Attributes | |
| JSON_PRIVATE_UNLESS_TESTED | : void dump_escaped(const string_t& s |
| JSON_PRIVATE_UNLESS_TESTED const bool | ensure_ascii |
| std::uint8_t | state = UTF8_ACCEPT |
| std::size_t | bytes = 0 |
| std::size_t | bytes_after_last_accept = 0 |
| std::size_t | undumped_chars = 0 |
| else | |
| enable_if_t< std::is_signed< NumberType >::value, int > | |
| enable_if_t< std::is_unsigned< NumberType >::value, int > | |
| *a *(hopefully) large enough character buffer std the locale const std::lconv * | loc = nullptr |
| *the locale s thousand separator character const char | thousands_sep = '\0' |
| *the locale s decimal point character const char | decimal_point = '\0' |
| *string buffer std::array< char, 512 > | string_buffer {{}} |
| *the indentation character const char | indent_char |
| *the indentation string string_t | indent_string |
| *error_handler how to react on decoding errors const error_handler_t | error_handler |
|
inline |
|
delete |
|
delete |
|
default |
|
inline |
internal implementation of the serialization function
This function is called by the public member function dump and organizes the serialization internally. The indentation level is propagated as additional parameter. In case of arrays and objects, the function is called recursively.
| [in] | val | value to serialize |
| [in] | pretty_print | whether the output shall be pretty-printed |
| [in] | ensure_ascii | If ensure_ascii is true, all non-ASCII characters in the output are escaped with \uXXXX sequences, and the result consists of ASCII characters only. |
| [in] | indent_step | the indent level |
| [in] | current_indent | the current indent level (only used internally) |
|
inline |
|
inline |
|
delete |
|
delete |
| JSON_PRIVATE_UNLESS_TESTED detail::serializer< BasicJsonType >::__pad0__ |
| std::size_t detail::serializer< BasicJsonType >::bytes = 0 |
| std::size_t detail::serializer< BasicJsonType >::bytes_after_last_accept = 0 |
| * the locale s decimal point character const char detail::serializer< BasicJsonType >::decimal_point = '\0' |
| detail::serializer< BasicJsonType >::else |
| detail::serializer< BasicJsonType >::enable_if_t< std::is_signed< NumberType >::value, int > |
| detail::serializer< BasicJsonType >::enable_if_t< std::is_unsigned< NumberType >::value, int > |
| JSON_PRIVATE_UNLESS_TESTED const bool detail::serializer< BasicJsonType >::ensure_ascii |
| * error_handler how to react on decoding errors const error_handler_t detail::serializer< BasicJsonType >::error_handler |
| * the indentation character const char detail::serializer< BasicJsonType >::indent_char |
| * the indentation string string_t detail::serializer< BasicJsonType >::indent_string |
| * a* (hopefully) large enough character buffer std the locale const std::lconv* detail::serializer< BasicJsonType >::loc = nullptr |
| std::uint8_t detail::serializer< BasicJsonType >::state = UTF8_ACCEPT |
| * string buffer std::array<char, 512> detail::serializer< BasicJsonType >::string_buffer {{}} |
| * the locale s thousand separator character const char detail::serializer< BasicJsonType >::thousands_sep = '\0' |
| std::size_t detail::serializer< BasicJsonType >::undumped_chars = 0 |