Quick Links:

bal | bbl | bdl | bsl

Classes | Public Member Functions

balxml::Encoder_EncodeObject Class Reference

#include <balxml_encoder.h>

List of all members.

Classes

struct  CanBeListOrRepetition
struct  CanBeRepetitionOnly

Public Member Functions

template<class TYPE >
int executeImp (const TYPE &object, const bsl::string_view &tag, int formattingMode, bdlat_TypeCategory::Array)
template<class TYPE >
int executeImp (const TYPE &object, const bsl::string_view &tag, int formattingMode, bdlat_TypeCategory::NullableValue)
template<class TYPE >
int executeImp (const TYPE &object, const bsl::string_view &tag, int formattingMode, bdlat_TypeCategory::DynamicType)
template<class TYPE , class ANY_CATEGORY >
int executeImp (const TYPE &object, const bsl::string_view &tag, int formattingMode, ANY_CATEGORY)
int executeImp (const bsl::vector< char > &object, const bsl::string_view &tag, int formattingMode, bdlat_TypeCategory::Array)
template<class TYPE >
int executeArrayListImp (const TYPE &object, const bsl::string_view &tag)
template<class TYPE >
int executeArrayRepetitionImp (const TYPE &object, const bsl::string_view &tag, int formattingMode)
 Encoder_EncodeObject (Encoder_Context *context)
template<class TYPE , class INFO_TYPE >
int operator() (const TYPE &object, const INFO_TYPE &info)
template<class TYPE >
int execute (const TYPE &object, const bsl::string_view &tag, int formattingMode)

Detailed Description

Component-private class. Do not use.

This struct encodes an object with enclosing tags. Compared to the EncoderUtil_EncodeValue class below, this class prefixes the value with an opening tag, and suffixes the value with a closing tag. In pseudocode, this is equivalent to:

      openTag()
      Encoder_EncodeValue()
      closeTag()

There is an overloaded version of bsl::vector<char> because, based on the formatting mode, this class needs to switch between encoding the value in a single tag (i.e., when using BASE64, TEXT, IS_LIST or HEX) and encoding the value in multiple tags (i.e., when repetition is used).

See Component balxml_encoder


Constructor & Destructor Documentation

balxml::Encoder_EncodeObject::Encoder_EncodeObject ( Encoder_Context context  )  [explicit]

Member Function Documentation

template<class TYPE >
int balxml::Encoder_EncodeObject::executeImp ( const TYPE &  object,
const bsl::string_view &  tag,
int  formattingMode,
bdlat_TypeCategory::Array   
)
template<class TYPE >
int balxml::Encoder_EncodeObject::executeImp ( const TYPE &  object,
const bsl::string_view &  tag,
int  formattingMode,
bdlat_TypeCategory::NullableValue   
)
template<class TYPE >
int balxml::Encoder_EncodeObject::executeImp ( const TYPE &  object,
const bsl::string_view &  tag,
int  formattingMode,
bdlat_TypeCategory::DynamicType   
)
template<class TYPE , class ANY_CATEGORY >
int balxml::Encoder_EncodeObject::executeImp ( const TYPE &  object,
const bsl::string_view &  tag,
int  formattingMode,
ANY_CATEGORY   
)
int balxml::Encoder_EncodeObject::executeImp ( const bsl::vector< char > &  object,
const bsl::string_view &  tag,
int  formattingMode,
bdlat_TypeCategory::Array   
)
template<class TYPE >
int balxml::Encoder_EncodeObject::executeArrayListImp ( const TYPE &  object,
const bsl::string_view &  tag 
)
template<class TYPE >
int balxml::Encoder_EncodeObject::executeArrayRepetitionImp ( const TYPE &  object,
const bsl::string_view &  tag,
int  formattingMode 
)
template<class TYPE , class INFO_TYPE >
int balxml::Encoder_EncodeObject::operator() ( const TYPE &  object,
const INFO_TYPE &  info 
)
template<class TYPE >
int balxml::Encoder_EncodeObject::execute ( const TYPE &  object,
const bsl::string_view &  tag,
int  formattingMode 
)

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