Quick Links: |
#include <baljsn_encoder.h>
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 |
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.
typedef int baljsn::Encoder_SelectionVisitor::FormattingMode |
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.
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.