#include <baljsn_encoder.h>
List of all members.
Public Types |
typedef int | FormattingMode |
Public Member Functions |
| Encoder_AttributeDispatcher (Formatter *formatter, bsl::ostream *logStream, const bsl::string_view &attributeName, FormattingMode formattingMode, bool isNextAttributeFirst, const EncoderOptions &options) |
int | operator() (const bsl::vector< char > &attribute, bdlat_TypeCategory::Array category) |
template<class TYPE > |
int | operator() (const TYPE &attribute, bdlat_TypeCategory::Array category) |
template<class TYPE > |
int | operator() (const TYPE &attribute, bdlat_TypeCategory::CustomizedType category) |
template<class TYPE > |
int | operator() (const TYPE &attribute, bdlat_TypeCategory::DynamicType category) |
template<class TYPE > |
int | operator() (const TYPE &attribute, bdlat_TypeCategory::NullableValue category) |
template<class TYPE , class CATEGORY > |
int | operator() (const TYPE &attribute, CATEGORY category) |
template<class TYPE > |
int | operator() (const TYPE &, bslmf::Nil) |
bool | isNextAttributeFirst () const |
Detailed Description
This component-private class provides a function object that 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 "attribute" object that satisfies one of the bdlat
type-category concepts, and an optional bdlat_TypeCategory
tag type that corresponds to the attribute's bdlat
type category. Each function-call-operator overload encodes a JSON representation of the specified attribute to the formatter
supplied on construction.
See Component baljsn_encoder
Member Typedef Documentation
Constructor & Destructor Documentation
baljsn::Encoder_AttributeDispatcher::Encoder_AttributeDispatcher |
( |
Formatter * |
formatter, |
|
|
bsl::ostream * |
logStream, |
|
|
const bsl::string_view & |
attributeName, |
|
|
FormattingMode |
formattingMode, |
|
|
bool |
isNextAttributeFirst, |
|
|
const EncoderOptions & |
options | |
|
) |
| | |
Construct an Encoder_AttributeDispatcher
object having the specified formatter
, logStream
, attributeName
, formattingMode
, isNextAttributeFirst
, and options
attributes.
Member Function Documentation
template<class TYPE , class CATEGORY >
int baljsn::Encoder_AttributeDispatcher::operator() |
( |
const TYPE & |
attribute, |
|
|
CATEGORY |
category | |
|
) |
| | |
Encode the JSON representation of the specified attribute
, having the name equal to the name
of the attributeInfo
attribute of this object, to the JSON formatter
attribute of this object according to the formattingMode
attribute of this object. If the isNextAttributeFirst
attribute of this object is true
, then the representation of the attribute 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 attribute
. 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 attribute
satisfies both the static and dynamic requirements of the bdlat
type-category concept corresponding to the specified category
. See the component-level documentation of baljsn_encoderoptions
for a description of the effects, if any, of each option in the options
on the JSON representation of the attribute
. See the package-level documentation of bdlat
for an introduction to the requirements of bdlat
type-category concepts.
template<class TYPE >
int baljsn::Encoder_AttributeDispatcher::operator() |
( |
const TYPE & |
, |
|
|
bslmf::Nil |
| |
|
) |
| | |
The behavior of this function is undefined.
bool baljsn::Encoder_AttributeDispatcher::isNextAttributeFirst |
( |
|
) |
const |
Return the value of the isNextAttributeFirst
attribute of this object.
The documentation for this class was generated from the following file: