Quick Links:

bal | bbl | bdl | bsl

Public Types | Public Member Functions

baljsn::Encoder_SelectionVisitor Class Reference

#include <baljsn_encoder.h>

List of all members.

Public Types

typedef int FormattingMode

Public Member Functions

 Encoder_SelectionVisitor (Formatter *formatter, bsl::ostream *logStream, bool isNextObjectFirst, const EncoderOptions &options)
template<class TYPE , class SELECTION_INFO >
int operator() (const TYPE &selection, const SELECTION_INFO &selectionInfo)
bool isNextObjectFirst () 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 a "selection" object that satisfies one of the bdlat type-category concepts, and a "selection info" object that describes various metadata of the selection.

See Component baljsn_encoder


Member Typedef Documentation


Constructor & Destructor Documentation

baljsn::Encoder_SelectionVisitor::Encoder_SelectionVisitor ( Formatter formatter,
bsl::ostream *  logStream,
bool  isNextObjectFirst,
const EncoderOptions options 
)

Construct an Encoder_SelectionVisitor object having the specified formatter, logStream, isNextObjectFirst, and options attributes.


Member Function Documentation

template<class TYPE , class SELECTION_INFO >
int baljsn::Encoder_SelectionVisitor::operator() ( const TYPE &  selection,
const SELECTION_INFO &  selectionInfo 
)

Encode the JSON representation of the specified selection, having the name equal to the name attribute of the specified selectionInfo to the JSON formatter attribute of this object, according to the specified formattingMode. If the isNextObjectFirst attribute of this object is true, then the representation of the selection 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 selection. 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 selection 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 selection. See the package-level documentation of bdlat for an introduction to the requirements of bdlat type-category concepts.

bool baljsn::Encoder_SelectionVisitor::isNextObjectFirst (  )  const

Return the value of the isNextObjectFirst attribute of this object.


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