Quick Links:

bal | bbl | bdl | bsl

Classes | Static Public Member Functions

bdlat_TypeName_Imp Struct Reference
[Component bdlat_typename]

#include <bdlat_typename.h>

List of all members.

Classes

struct  HasClassName
struct  IsBasicEnumeration
struct  Other

Static Public Member Functions

template<class TYPE >
static const char * className (const TYPE *)
template<class TYPE >
static const char * name (const TYPE *)
static const char * name (const bool *)
static const char * name (const char *)
static const char * name (const signed char *)
static const char * name (const unsigned char *)
static const char * name (const short *)
static const char * name (const unsigned short *)
static const char * name (const int *)
static const char * name (const unsigned int *)
static const char * name (const long *)
static const char * name (const unsigned long *)
static const char * name (const bsls::Types::Int64 *)
static const char * name (const bsls::Types::Uint64 *)
static const char * name (const float *)
static const char * name (const double *)
static const char * name (const bdldfp::Decimal64 *)
static const char * name (const char *const *)
static const char * name (const signed char *const *)
static const char * name (const unsigned char *const *)
static const char * name (const bsl::string *)
static const char * name (const bdlt::Date *)
static const char * name (const bdlt::DateTz *)
static const char * name (const bdlt::Datetime *)
static const char * name (const bdlt::DatetimeTz *)
static const char * name (const bdlt::Time *)
static const char * name (const bdlt::TimeTz *)
template<class TYPE >
static const char * name (const bsl::vector< TYPE > *)
template<class TYPE >
static const char * xsdName (const TYPE *object, int format)
static const char * xsdName (const bool *, int format)
static const char * xsdName (const char *, int format)
static const char * xsdName (const signed char *, int format)
static const char * xsdName (const unsigned char *, int format)
static const char * xsdName (const short *, int format)
static const char * xsdName (const unsigned short *, int format)
static const char * xsdName (const int *, int format)
static const char * xsdName (const unsigned int *, int format)
static const char * xsdName (const long *, int format)
static const char * xsdName (const unsigned long *, int format)
static const char * xsdName (const bsls::Types::Int64 *, int format)
static const char * xsdName (const bsls::Types::Uint64 *, int format)
static const char * xsdName (const float *, int format)
static const char * xsdName (const double *, int format)
static const char * xsdName (const bdldfp::Decimal64 *, int format)
static const char * xsdName (const bsl::string *, int format)
static const char * xsdName (const char *const *, int format)
static const char * xsdName (const signed char *const *, int format)
static const char * xsdName (const unsigned char *const *, int format)
static const char * xsdName (const bdlt::Date *, int format)
static const char * xsdName (const bdlt::DateTz *, int format)
static const char * xsdName (const bdlt::Datetime *, int format)
static const char * xsdName (const bdlt::DatetimeTz *, int format)
static const char * xsdName (const bdlt::Time *, int format)
static const char * xsdName (const bdlt::TimeTz *, int format)
static const char * xsdName (const bsl::vector< char > *, int format)
static const char * xsdName (const bsl::vector< short > *, int format)
static bool idempotentConcat (char *dest, int destSize, const char *segments[], int numSegments)

Detailed Description

Private class providing implementation of bdlat_TypeName.

See Component bdlat_typename


Member Function Documentation

template<class TYPE >
static const char* bdlat_TypeName_Imp::className ( const TYPE *   )  [static]

Overloads for basic class types.

template<class TYPE >
static const char* bdlat_TypeName_Imp::name ( const TYPE *   )  [static]

Generic implementation for non-fundamental types.

static const char* bdlat_TypeName_Imp::name ( const bool *   )  [static]
static const char* bdlat_TypeName_Imp::name ( const char *   )  [static]
static const char* bdlat_TypeName_Imp::name ( const signed char *   )  [static]
static const char* bdlat_TypeName_Imp::name ( const unsigned char *   )  [static]
static const char* bdlat_TypeName_Imp::name ( const short *   )  [static]
static const char* bdlat_TypeName_Imp::name ( const unsigned short *   )  [static]
static const char* bdlat_TypeName_Imp::name ( const int *   )  [static]
static const char* bdlat_TypeName_Imp::name ( const unsigned int *   )  [static]
static const char* bdlat_TypeName_Imp::name ( const long *   )  [static]
static const char* bdlat_TypeName_Imp::name ( const unsigned long *   )  [static]
static const char* bdlat_TypeName_Imp::name ( const bsls::Types::Int64  )  [static]
static const char* bdlat_TypeName_Imp::name ( const bsls::Types::Uint64  )  [static]
static const char* bdlat_TypeName_Imp::name ( const float *   )  [static]
static const char* bdlat_TypeName_Imp::name ( const double *   )  [static]
static const char* bdlat_TypeName_Imp::name ( const bdldfp::Decimal64  )  [static]
static const char* bdlat_TypeName_Imp::name ( const char *const *   )  [static]
static const char* bdlat_TypeName_Imp::name ( const signed char *const *   )  [static]
static const char* bdlat_TypeName_Imp::name ( const unsigned char *const *   )  [static]
static const char* bdlat_TypeName_Imp::name ( const bsl::string  )  [static]
static const char* bdlat_TypeName_Imp::name ( const bdlt::Date  )  [static]
static const char* bdlat_TypeName_Imp::name ( const bdlt::DateTz  )  [static]
static const char* bdlat_TypeName_Imp::name ( const bdlt::Datetime  )  [static]
static const char* bdlat_TypeName_Imp::name ( const bdlt::DatetimeTz  )  [static]
static const char* bdlat_TypeName_Imp::name ( const bdlt::Time  )  [static]
static const char* bdlat_TypeName_Imp::name ( const bdlt::TimeTz  )  [static]

Overloads for fundamental types and char pointers.

template<class TYPE >
static const char* bdlat_TypeName_Imp::name ( const bsl::vector< TYPE > *   )  [static]

Specialization for vectors. Return the null-terminated string constructed by replacing the "X" in the string "vector<X>" with the result of calling name on an object of the specified TYPE. If the constructed string exceeds 100 characters, then truncate to 100 characters. Note that TYPE may itself be a vector, leading to a recursive call to this function.

template<class TYPE >
static const char* bdlat_TypeName_Imp::xsdName ( const TYPE *  object,
int  format 
) [static]

Generic implementation for non-fundamental and not predefined types using the specified object and format.

static const char* bdlat_TypeName_Imp::xsdName ( const bool *  ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const char *  ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const signed char *  ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const unsigned char *  ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const short *  ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const unsigned short *  ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const int *  ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const unsigned int *  ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const long *  ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const unsigned long *  ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const bsls::Types::Int64 ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const bsls::Types::Uint64 ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const float *  ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const double *  ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const bdldfp::Decimal64 ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const bsl::string ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const char *const *  ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const signed char *const *  ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const unsigned char *const *  ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const bdlt::Date ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const bdlt::DateTz ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const bdlt::Datetime ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const bdlt::DatetimeTz ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const bdlt::Time ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const bdlt::TimeTz ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const bsl::vector< char > *  ,
int  format 
) [static]
static const char* bdlat_TypeName_Imp::xsdName ( const bsl::vector< short > *  ,
int  format 
) [static]

Overloads for fundamental types and some predefined types using the specified format.

static bool bdlat_TypeName_Imp::idempotentConcat ( char *  dest,
int  destSize,
const char *  segments[],
int  numSegments 
) [static]

Concatenate the specified numSegments zero-terminated strings specified by segments array and load the result into the specified dest buffer with the specified size destSize. Return always true. Note that this method is idempotent and safe for multi-threaded environment.


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