BDE 4.14.0 Production release
Loading...
Searching...
No Matches
baljsn::Encoder_ElementVisitor Class Reference

#include <baljsn_encoder.h>

Public Member Functions

 Encoder_ElementVisitor (Formatter *formatter, bsl::ostream *logStream, bool isNextElementFirst, const EncoderOptions &options)
 
template<class TYPE >
int operator() (const TYPE &element)
 
bool isNextElementFirst () 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 "element" object that satisfies one of the bdlat type-category concepts.

See baljsn_encoder

Constructor & Destructor Documentation

◆ Encoder_ElementVisitor()

baljsn::Encoder_ElementVisitor::Encoder_ElementVisitor ( Formatter formatter,
bsl::ostream *  logStream,
bool  isNextElementFirst,
const EncoderOptions options 
)
inline

Construct an Encoder_ElementVisitor object having the specified formatter, logStream, isNextElementFirst, and options attributes.

Member Function Documentation

◆ isNextElementFirst()

bool baljsn::Encoder_ElementVisitor::isNextElementFirst ( ) const
inline

Return the value of the isNextElementFirst attribute of this object.

◆ operator()()

template<class TYPE >
int baljsn::Encoder_ElementVisitor::operator() ( const TYPE &  element)
inline

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 isNextElementFirst attribute of this object 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 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 value. See the package-level documentation of {bdlat} for an introduction to the requirements of bdlat type-category concepts.


The documentation for this class was generated from the following file: