|
| Encoder_ValueDispatcher (Formatter *formatter, bsl::ostream *logStream, FormattingMode formattingMode, bool isNextObjectFirst, const EncoderOptions &options) |
|
int | operator() (const bsl::vector< char > &value, bdlat_TypeCategory::Array category) |
|
template<class TYPE > |
int | operator() (const TYPE &value, bdlat_TypeCategory::Array category) |
|
template<class TYPE > |
int | operator() (const TYPE &value, bdlat_TypeCategory::Choice category) |
|
template<class TYPE > |
int | operator() (const TYPE &value, bdlat_TypeCategory::CustomizedType category) |
|
template<class TYPE > |
int | operator() (const TYPE &value, bdlat_TypeCategory::DynamicType category) |
|
template<class TYPE > |
int | operator() (const TYPE &value, bdlat_TypeCategory::Enumeration category) |
|
template<class TYPE > |
int | operator() (const TYPE &value, bdlat_TypeCategory::NullableValue category) |
|
template<class TYPE > |
int | operator() (const TYPE &value, bdlat_TypeCategory::Sequence category) |
|
template<class TYPE > |
int | operator() (const TYPE &value, bdlat_TypeCategory::Simple category) |
|
template<class TYPE > |
int | operator() (const TYPE &, bslmf::Nil) |
| The behavior of this function is undefined.
|
|
bool | isNextObjectFirst () const |
|
this component-private class provides a function object used to encode values that satisfy one of the bdlat
type-category concepts.
This class's constructor closes over the formatter
, logStream
, and options
parameters that are shared between all encoding operations provided in this component. The function-call operator of this class provides an overload set that accepts an object that satisfies one of the bdlat
type-category concepts, and a bdlat_TypeCategory
tag type that corresponds to the object's bdlat
type category. Each function-call-operator overload encodes a JSON representation of the specified value to the formatter
supplied on construction.
See baljsn_encoder
Encode the JSON representation of the specified value
to the JSON formatter
attribute of this object, according to the formattingMode
attribute of this object. If the representation contains no text and the isFirstSubObject
attribute of this object is true
, set the isNextObjectFirst
attribute of this object to true
, and the value false
otherwise. If isFirstSubObject
is true
, then the representation of the value contains no leading sequence delimiter, and does contain such a delimiter otherwise. The options
attribute of this object configures aspects of the JSON representation of the value
. If this operation is not successful, load an unspecified, human-readable description of the error condition to the logStream
attribute of this object. Return 0 on success, and a non-zero value otherwise. The behavior is undefined unless the specified TYPE
satisfies both the static and dynamic requirements of the specified category
bdlat
type-category concept. See baljsn_encoderoptions for a description of the effects, if any, of each option in the options
on the JSON representation of the value
. See the package-level documentation of bdlat
for an introduction to the requirements of bdlat
type-category concepts.