BDE 4.14.0 Production release
|
#include <baljsn_encoder.h>
Public Member Functions | |
Encoder_ElementDispatcher (Formatter *formatter, bsl::ostream *logStream, bool isNextElementFirst, const EncoderOptions &options) | |
int | operator() (const bsl::vector< char > &element, bdlat_TypeCategory::Array category) |
template<class TYPE > | |
int | operator() (const TYPE &element, bdlat_TypeCategory::Array category) |
template<class TYPE > | |
int | operator() (const TYPE &element, bdlat_TypeCategory::Choice category) |
template<class TYPE > | |
int | operator() (const TYPE &element, bdlat_TypeCategory::CustomizedType category) |
template<class TYPE > | |
int | operator() (const TYPE &element, bdlat_TypeCategory::DynamicType category) |
template<class TYPE > | |
int | operator() (const TYPE &element, bdlat_TypeCategory::Enumeration category) |
template<class TYPE > | |
int | operator() (const TYPE &element, bdlat_TypeCategory::NullableValue category) |
template<class TYPE > | |
int | operator() (const TYPE &element, bdlat_TypeCategory::Sequence category) |
template<class TYPE > | |
int | operator() (const TYPE &element, bdlat_TypeCategory::Simple category) |
template<class TYPE > | |
int | operator() (const TYPE &, bslmf::Nil) |
The behavior of this function is undefined. | |
bool | isNextElementFirst () const |
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 "element" object that satisfies one of the bdlat
type-category concepts, and an optional bdlat_TypeCategory
tag type that corresponds to the element's bdlat
type category. Each function-call-operator overload encodes a JSON representation of the specified selection to the formatter
supplied on construction.
See baljsn_encoder
|
inline |
Construct an Encoder_ElementDispatcher
object having the specified formatter
, logStream
, isNextElementFirst
, and options
attributes.
|
inline |
Return the value of the isNextElementFirst
attribute of this object.
|
inline |
Encode the JSON representation of the specified value
to the JSON formatter
attribute of this object, according to the specified formattingMode
. If the representation contains no text and the specified isFirstElement
is true
, load the value true
into the specified isNextElementFirst
, and the value false
otherwise. If isFirstElement
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.
int baljsn::Encoder_ElementDispatcher::operator() | ( | const TYPE & | , |
bslmf::Nil | |||
) |
int baljsn::Encoder_ElementDispatcher::operator() | ( | const TYPE & | element, |
bdlat_TypeCategory::Array | category | ||
) |
int baljsn::Encoder_ElementDispatcher::operator() | ( | const TYPE & | element, |
bdlat_TypeCategory::Choice | category | ||
) |
int baljsn::Encoder_ElementDispatcher::operator() | ( | const TYPE & | element, |
bdlat_TypeCategory::CustomizedType | category | ||
) |
int baljsn::Encoder_ElementDispatcher::operator() | ( | const TYPE & | element, |
bdlat_TypeCategory::DynamicType | category | ||
) |
int baljsn::Encoder_ElementDispatcher::operator() | ( | const TYPE & | element, |
bdlat_TypeCategory::Enumeration | category | ||
) |
int baljsn::Encoder_ElementDispatcher::operator() | ( | const TYPE & | element, |
bdlat_TypeCategory::NullableValue | category | ||
) |
int baljsn::Encoder_ElementDispatcher::operator() | ( | const TYPE & | element, |
bdlat_TypeCategory::Sequence | category | ||
) |
int baljsn::Encoder_ElementDispatcher::operator() | ( | const TYPE & | element, |
bdlat_TypeCategory::Simple | category | ||
) |