Quick Links:

bal | bbl | bdl | bsl

Static Public Member Functions

bslim::Printer_Helper Struct Reference

#include <bslim_printer.h>

List of all members.

Static Public Member Functions

template<class TYPE >
static void print (bsl::ostream &stream, const TYPE &data, int level, int spacesPerLevel)
template<class ITERATOR >
static void print (bsl::ostream &stream, const ITERATOR &begin, const ITERATOR &end, int level, int spacesPerLevel)
template<class ITERATOR , class PRINT_FUNCTOR >
static void print (bsl::ostream &stream, const ITERATOR &begin, const ITERATOR &end, const PRINT_FUNCTOR &printFunctionObject, const int level, const int spacesPerLevel)
static void printRaw (bsl::ostream &stream, char data, int level, int spacesPerLevel, bslmf::SelectTraitCase< bsl::is_fundamental >)
static void printRaw (bsl::ostream &stream, unsigned char data, int level, int spacesPerLevel, bslmf::SelectTraitCase< bsl::is_fundamental >)
static void printRaw (bsl::ostream &stream, bool data, int level, int spacesPerLevel, bslmf::SelectTraitCase< bsl::is_fundamental >)
template<class TYPE >
static void printRaw (bsl::ostream &stream, TYPE data, int level, int spacesPerLevel, bslmf::SelectTraitCase< bsl::is_fundamental >)
template<class TYPE >
static void printRaw (bsl::ostream &stream, TYPE data, int level, int spacesPerLevel, bslmf::SelectTraitCase< bsl::is_enum >)
template<class TYPE >
static void printRaw (bsl::ostream &stream, const TYPE &data, int level, int spacesPerLevel, bslmf::SelectTraitCase< bslmf::IsFunctionPointer >)
static void printRaw (bsl::ostream &stream, const char *data, int level, int spacesPerLevel, bslmf::SelectTraitCase< bsl::is_pointer >)
static void printRaw (bsl::ostream &stream, const void *data, int level, int spacesPerLevel, bslmf::SelectTraitCase< bsl::is_pointer >)
template<class TYPE >
static void printRaw (bsl::ostream &stream, const TYPE *data, int level, int spacesPerLevel, bslmf::SelectTraitCase< bsl::is_pointer >)
template<class TYPE >
static void printRaw (bsl::ostream &stream, const TYPE *data, int level, int spacesPerLevel, bslmf::SelectTraitCase< bsl::is_array >)
static void printRaw (bsl::ostream &stream, const bsl::string &data, int level, int spacesPerLevel, bslmf::SelectTraitCase< bslalg::HasStlIterators >)
template<class TYPE >
static void printRaw (bsl::ostream &stream, const TYPE &data, int level, int spacesPerLevel, bslmf::SelectTraitCase< bslalg::HasStlIterators >)
template<class T1 , class T2 >
static void printRaw (bsl::ostream &stream, const bsl::pair< T1, T2 > &data, int level, int spacesPerLevel, bslmf::SelectTraitCase<>)
static void printRaw (bsl::ostream &stream, const bslstl::StringRef &data, int level, int spacesPerLevel, bslmf::SelectTraitCase<>)
static void printRaw (bsl::ostream &stream, const bsl::string_view &data, int level, int spacesPerLevel, bslmf::SelectTraitCase<>)
template<class TYPE >
static void printRaw (bsl::ostream &stream, const bsl::shared_ptr< TYPE > &data, int level, int spacesPerLevel, bslmf::SelectTraitCase<>)
template<class TYPE >
static void printRaw (bsl::ostream &stream, const bsl::optional< TYPE > &data, int level, int spacesPerLevel, bslmf::SelectTraitCase<>)
template<class TYPE >
static void printRaw (bsl::ostream &stream, const TYPE &data, int level, int spacesPerLevel, bslmf::SelectTraitCase<>)

Detailed Description

This struct is an aid to the implementation of the accessors of the Printer mechanism. It provides a method template, print, that adheres to the BDE print method contract. It is not to be accessed directly by clients of bslim.

See Component bslim_printer


Member Function Documentation

template<class TYPE >
static void bslim::Printer_Helper::print ( bsl::ostream &  stream,
const TYPE &  data,
int  level,
int  spacesPerLevel 
) [static]

Format the specified data to the specified output stream at the (absolute value of) the specified indentation level, using the specified spacesPerLevel, the number of spaces per indentation level for this and all of its nested objects. Note that this function dispatches to printRaw based on the type traits of the deduced (template parameter) TYPE.

template<class ITERATOR >
static void bslim::Printer_Helper::print ( bsl::ostream &  stream,
const ITERATOR &  begin,
const ITERATOR &  end,
int  level,
int  spacesPerLevel 
) [static]

Format the range of objects specified by [ begin, end ) to the specified output stream at the (absolute value of) the specified indentation level, using the specified spacesPerLevel, the number of spaces per indentation level for the objects and their nested objects, where ITERATOR supports the operators ++ and * to access the objects. Individual objects are printed with printValue.

template<class ITERATOR , class PRINT_FUNCTOR >
static void bslim::Printer_Helper::print ( bsl::ostream &  stream,
const ITERATOR &  begin,
const ITERATOR &  end,
const PRINT_FUNCTOR &  printFunctionObject,
const int  level,
const int  spacesPerLevel 
) [static]

Format the range of objects specified by [ begin, end ) to the specified output stream at the (absolute value of) the specified indentation level, using the specified spacesPerLevel, the number of spaces per indentation level for the objects and their nested objects, where ITERATOR supports the operators ++ and * to access the objects, printing the individual objects with the specified printFunctionObject.

static void bslim::Printer_Helper::printRaw ( bsl::ostream &  stream,
char  data,
int  level,
int  spacesPerLevel,
bslmf::SelectTraitCase< bsl::is_fundamental  
) [static]
static void bslim::Printer_Helper::printRaw ( bsl::ostream &  stream,
unsigned char  data,
int  level,
int  spacesPerLevel,
bslmf::SelectTraitCase< bsl::is_fundamental  
) [static]
static void bslim::Printer_Helper::printRaw ( bsl::ostream &  stream,
bool  data,
int  level,
int  spacesPerLevel,
bslmf::SelectTraitCase< bsl::is_fundamental  
) [static]
template<class TYPE >
static void bslim::Printer_Helper::printRaw ( bsl::ostream &  stream,
TYPE  data,
int  level,
int  spacesPerLevel,
bslmf::SelectTraitCase< bsl::is_fundamental  
) [static]
template<class TYPE >
static void bslim::Printer_Helper::printRaw ( bsl::ostream &  stream,
TYPE  data,
int  level,
int  spacesPerLevel,
bslmf::SelectTraitCase< bsl::is_enum  
) [static]
template<class TYPE >
static void bslim::Printer_Helper::printRaw ( bsl::ostream &  stream,
const TYPE &  data,
int  level,
int  spacesPerLevel,
bslmf::SelectTraitCase< bslmf::IsFunctionPointer  
) [static]
static void bslim::Printer_Helper::printRaw ( bsl::ostream &  stream,
const char *  data,
int  level,
int  spacesPerLevel,
bslmf::SelectTraitCase< bsl::is_pointer  
) [static]
static void bslim::Printer_Helper::printRaw ( bsl::ostream &  stream,
const void *  data,
int  level,
int  spacesPerLevel,
bslmf::SelectTraitCase< bsl::is_pointer  
) [static]
template<class TYPE >
static void bslim::Printer_Helper::printRaw ( bsl::ostream &  stream,
const TYPE *  data,
int  level,
int  spacesPerLevel,
bslmf::SelectTraitCase< bsl::is_pointer  
) [static]
template<class TYPE >
static void bslim::Printer_Helper::printRaw ( bsl::ostream &  stream,
const TYPE *  data,
int  level,
int  spacesPerLevel,
bslmf::SelectTraitCase< bsl::is_array  
) [static]
static void bslim::Printer_Helper::printRaw ( bsl::ostream &  stream,
const bsl::string data,
int  level,
int  spacesPerLevel,
bslmf::SelectTraitCase< bslalg::HasStlIterators  
) [static]
template<class TYPE >
static void bslim::Printer_Helper::printRaw ( bsl::ostream &  stream,
const TYPE &  data,
int  level,
int  spacesPerLevel,
bslmf::SelectTraitCase< bslalg::HasStlIterators  
) [static]
template<class T1 , class T2 >
static void bslim::Printer_Helper::printRaw ( bsl::ostream &  stream,
const bsl::pair< T1, T2 > &  data,
int  level,
int  spacesPerLevel,
bslmf::SelectTraitCase<>   
) [static]
static void bslim::Printer_Helper::printRaw ( bsl::ostream &  stream,
const bslstl::StringRef data,
int  level,
int  spacesPerLevel,
bslmf::SelectTraitCase<>   
) [static]
static void bslim::Printer_Helper::printRaw ( bsl::ostream &  stream,
const bsl::string_view &  data,
int  level,
int  spacesPerLevel,
bslmf::SelectTraitCase<>   
) [static]
template<class TYPE >
static void bslim::Printer_Helper::printRaw ( bsl::ostream &  stream,
const bsl::shared_ptr< TYPE > &  data,
int  level,
int  spacesPerLevel,
bslmf::SelectTraitCase<>   
) [static]
template<class TYPE >
static void bslim::Printer_Helper::printRaw ( bsl::ostream &  stream,
const bsl::optional< TYPE > &  data,
int  level,
int  spacesPerLevel,
bslmf::SelectTraitCase<>   
) [static]
template<class TYPE >
static void bslim::Printer_Helper::printRaw ( bsl::ostream &  stream,
const TYPE &  data,
int  level,
int  spacesPerLevel,
bslmf::SelectTraitCase<>   
) [static]

The print method of this class dispatches based on TYPE and traits to a printRaw method to do the actual printing of the specified data to the specified stream with indentation based on the specified level and spacesPerLevel.


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