Quick Links:

bal | bbl | bdl | bsl

Public Member Functions

bdlat_SymbolicConverter_Imp Class Reference
[Component bdlat_symbolicconverter]

#include <bdlat_symbolicconverter.h>

List of all members.

Public Member Functions

template<class LHS_TYPE , class RHS_TYPE >
int convert (LHS_TYPE *lhs, bdlat_TypeCategory::Sequence lhsCategory, const RHS_TYPE &rhs, bdlat_TypeCategory::Sequence rhsCategory)
template<class LHS_TYPE , class RHS_TYPE >
int convert (LHS_TYPE *lhs, bdlat_TypeCategory::Choice lhsCategory, const RHS_TYPE &rhs, bdlat_TypeCategory::Choice rhsCategory)
template<class LHS_TYPE , class RHS_TYPE >
int convert (LHS_TYPE *lhs, bdlat_TypeCategory::Array lhsCategory, const RHS_TYPE &rhs, bdlat_TypeCategory::Array rhsCategory)
template<class LHS_TYPE , class RHS_TYPE >
int convert (LHS_TYPE *lhs, bdlat_TypeCategory::Enumeration lhsCategory, const RHS_TYPE &rhs, bdlat_TypeCategory::Enumeration rhsCategory)
template<class LHS_TYPE , class RHS_TYPE >
int convert (LHS_TYPE *lhs, bdlat_TypeCategory::Enumeration lhsCategory, const RHS_TYPE &rhs, bdlat_TypeCategory::Simple rhsCategory)
template<class LHS_TYPE , class RHS_TYPE >
int convert (LHS_TYPE *lhs, bdlat_TypeCategory::Simple lhsCategory, const RHS_TYPE &rhs, bdlat_TypeCategory::Enumeration rhsCategory)
template<class LHS_TYPE , class RHS_TYPE >
int convert (LHS_TYPE *lhs, bdlat_TypeCategory::NullableValue lhsCategory, const RHS_TYPE &rhs, bdlat_TypeCategory::NullableValue rhsCategory)
template<class LHS_TYPE , class RHS_TYPE , class RHS_CATEGORY >
int convert (LHS_TYPE *lhs, bdlat_TypeCategory::NullableValue lhsCategory, const RHS_TYPE &rhs, RHS_CATEGORY rhsCategory)
template<class LHS_TYPE , class LHS_CATEGORY , class RHS_TYPE >
int convert (LHS_TYPE *lhs, LHS_CATEGORY lhsCategory, const RHS_TYPE &rhs, bdlat_TypeCategory::NullableValue rhsCategory)
template<class LHS_TYPE , class RHS_TYPE >
int convert (LHS_TYPE *lhs, bdlat_TypeCategory::CustomizedType lhsCategory, const RHS_TYPE &rhs, bdlat_TypeCategory::NullableValue rhsCategory)
template<class LHS_TYPE , class RHS_TYPE >
int convert (LHS_TYPE *lhs, bdlat_TypeCategory::CustomizedType lhsCategory, const RHS_TYPE &rhs, bdlat_TypeCategory::CustomizedType rhsCategory)
template<class LHS_TYPE , class RHS_TYPE , class RHS_CATEGORY >
int convert (LHS_TYPE *lhs, bdlat_TypeCategory::CustomizedType lhsCategory, const RHS_TYPE &rhs, RHS_CATEGORY rhsCategory)
template<class LHS_TYPE , class LHS_CATEGORY , class RHS_TYPE >
int convert (LHS_TYPE *lhs, LHS_CATEGORY lhsCategory, const RHS_TYPE &rhs, bdlat_TypeCategory::CustomizedType rhsCategory)
template<class LHS_TYPE , class RHS_TYPE >
int convert (LHS_TYPE *lhs, bdlat_TypeCategory::NullableValue lhsCategory, const RHS_TYPE &rhs, bdlat_TypeCategory::CustomizedType rhsCategory)
template<class LHS_TYPE , class RHS_TYPE >
int convert (LHS_TYPE *lhs, bdlat_TypeCategory::Simple lhsCategory, const RHS_TYPE &rhs, bdlat_TypeCategory::Simple rhsCategory)
template<class LHS_TYPE , class LHS_CATEGORY , class RHS_TYPE , class RHS_CATEGORY >
int convert (LHS_TYPE *lhs, LHS_CATEGORY lhsCategory, const RHS_TYPE &rhs, RHS_CATEGORY rhsCategory)
template<class LHS_TYPE , class RHS_TYPE >
int resolveDynamicTypes (LHS_TYPE *lhs, bdlat_TypeCategory::DynamicType lhsCategory, const RHS_TYPE &rhs, bdlat_TypeCategory::DynamicType rhsCategory)
template<class LHS_TYPE , class RHS_TYPE , class RHS_CATEGORY >
int resolveDynamicTypes (LHS_TYPE *lhs, bdlat_TypeCategory::DynamicType lhsCategory, const RHS_TYPE &rhs, RHS_CATEGORY rhsCategory)
template<class LHS_TYPE , class LHS_CATEGORY , class RHS_TYPE >
int resolveDynamicTypes (LHS_TYPE *lhs, LHS_CATEGORY lhsCategory, const RHS_TYPE &rhs, bdlat_TypeCategory::DynamicType rhsCategory)
template<class LHS_TYPE , class LHS_CATEGORY , class RHS_TYPE , class RHS_CATEGORY >
int resolveDynamicTypes (LHS_TYPE *lhs, LHS_CATEGORY lhsCategory, const RHS_TYPE &rhs, RHS_CATEGORY rhsCategory)
 bdlat_SymbolicConverter_Imp (bsl::ostream *errorStream)
template<class LHS_TYPE , class RHS_TYPE >
int convert (LHS_TYPE *lhs, const RHS_TYPE &rhs)
bsl::ostream & errorStream ()

Detailed Description

This class contains implementation functions for this component.

See Component bdlat_symbolicconverter


Constructor & Destructor Documentation

bdlat_SymbolicConverter_Imp::bdlat_SymbolicConverter_Imp ( bsl::ostream *  errorStream  ) 

Create the imp object.


Member Function Documentation

template<class LHS_TYPE , class RHS_TYPE >
int bdlat_SymbolicConverter_Imp::convert ( LHS_TYPE *  lhs,
bdlat_TypeCategory::Sequence  lhsCategory,
const RHS_TYPE &  rhs,
bdlat_TypeCategory::Sequence  rhsCategory 
)

Convert to sequence from sequence.

template<class LHS_TYPE , class RHS_TYPE >
int bdlat_SymbolicConverter_Imp::convert ( LHS_TYPE *  lhs,
bdlat_TypeCategory::Choice  lhsCategory,
const RHS_TYPE &  rhs,
bdlat_TypeCategory::Choice  rhsCategory 
)

Convert to choice from choice.

template<class LHS_TYPE , class RHS_TYPE >
int bdlat_SymbolicConverter_Imp::convert ( LHS_TYPE *  lhs,
bdlat_TypeCategory::Array  lhsCategory,
const RHS_TYPE &  rhs,
bdlat_TypeCategory::Array  rhsCategory 
)

Convert to array from array.

template<class LHS_TYPE , class RHS_TYPE >
int bdlat_SymbolicConverter_Imp::convert ( LHS_TYPE *  lhs,
bdlat_TypeCategory::Enumeration  lhsCategory,
const RHS_TYPE &  rhs,
bdlat_TypeCategory::Enumeration  rhsCategory 
)

Convert to enum from enum.

template<class LHS_TYPE , class RHS_TYPE >
int bdlat_SymbolicConverter_Imp::convert ( LHS_TYPE *  lhs,
bdlat_TypeCategory::Enumeration  lhsCategory,
const RHS_TYPE &  rhs,
bdlat_TypeCategory::Simple  rhsCategory 
)

Convert to enum from simple type.

template<class LHS_TYPE , class RHS_TYPE >
int bdlat_SymbolicConverter_Imp::convert ( LHS_TYPE *  lhs,
bdlat_TypeCategory::Simple  lhsCategory,
const RHS_TYPE &  rhs,
bdlat_TypeCategory::Enumeration  rhsCategory 
)

Convert to simple type from enum.

template<class LHS_TYPE , class RHS_TYPE >
int bdlat_SymbolicConverter_Imp::convert ( LHS_TYPE *  lhs,
bdlat_TypeCategory::NullableValue  lhsCategory,
const RHS_TYPE &  rhs,
bdlat_TypeCategory::NullableValue  rhsCategory 
)

Convert to nullable from nullable.

template<class LHS_TYPE , class RHS_TYPE , class RHS_CATEGORY >
int bdlat_SymbolicConverter_Imp::convert ( LHS_TYPE *  lhs,
bdlat_TypeCategory::NullableValue  lhsCategory,
const RHS_TYPE &  rhs,
RHS_CATEGORY  rhsCategory 
)

Convert to nullable from non-nullable.

template<class LHS_TYPE , class LHS_CATEGORY , class RHS_TYPE >
int bdlat_SymbolicConverter_Imp::convert ( LHS_TYPE *  lhs,
LHS_CATEGORY  lhsCategory,
const RHS_TYPE &  rhs,
bdlat_TypeCategory::NullableValue  rhsCategory 
)

Convert to non-nullable from nullable.

template<class LHS_TYPE , class RHS_TYPE >
int bdlat_SymbolicConverter_Imp::convert ( LHS_TYPE *  lhs,
bdlat_TypeCategory::CustomizedType  lhsCategory,
const RHS_TYPE &  rhs,
bdlat_TypeCategory::NullableValue  rhsCategory 
)

Convert to customized type from nullable. Note that this overload is required to resolve ambiguities when there are nullable and customized types in the same sequence.

template<class LHS_TYPE , class RHS_TYPE >
int bdlat_SymbolicConverter_Imp::convert ( LHS_TYPE *  lhs,
bdlat_TypeCategory::CustomizedType  lhsCategory,
const RHS_TYPE &  rhs,
bdlat_TypeCategory::CustomizedType  rhsCategory 
)

Convert to customized from customized.

template<class LHS_TYPE , class RHS_TYPE , class RHS_CATEGORY >
int bdlat_SymbolicConverter_Imp::convert ( LHS_TYPE *  lhs,
bdlat_TypeCategory::CustomizedType  lhsCategory,
const RHS_TYPE &  rhs,
RHS_CATEGORY  rhsCategory 
)

Convert to customized from non-customized.

template<class LHS_TYPE , class LHS_CATEGORY , class RHS_TYPE >
int bdlat_SymbolicConverter_Imp::convert ( LHS_TYPE *  lhs,
LHS_CATEGORY  lhsCategory,
const RHS_TYPE &  rhs,
bdlat_TypeCategory::CustomizedType  rhsCategory 
)

Convert to non-customized from customized.

template<class LHS_TYPE , class RHS_TYPE >
int bdlat_SymbolicConverter_Imp::convert ( LHS_TYPE *  lhs,
bdlat_TypeCategory::NullableValue  lhsCategory,
const RHS_TYPE &  rhs,
bdlat_TypeCategory::CustomizedType  rhsCategory 
)

Convert to nullable from customized. Note that this overload is required to resolve ambiguities when there are nullable and customized types in the same sequence.

template<class LHS_TYPE , class RHS_TYPE >
int bdlat_SymbolicConverter_Imp::convert ( LHS_TYPE *  lhs,
bdlat_TypeCategory::Simple  lhsCategory,
const RHS_TYPE &  rhs,
bdlat_TypeCategory::Simple  rhsCategory 
)

Convert to simple from simple of the same type. Note that this just evaluates to an assignment using the assignment operator.

template<class LHS_TYPE , class LHS_CATEGORY , class RHS_TYPE , class RHS_CATEGORY >
int bdlat_SymbolicConverter_Imp::convert ( LHS_TYPE *  lhs,
LHS_CATEGORY  lhsCategory,
const RHS_TYPE &  rhs,
RHS_CATEGORY  rhsCategory 
)

No match found. This function does nothing, it just returns a FAILURE code (to be used to detect type-mismatch at runtime).

template<class LHS_TYPE , class RHS_TYPE >
int bdlat_SymbolicConverter_Imp::resolveDynamicTypes ( LHS_TYPE *  lhs,
bdlat_TypeCategory::DynamicType  lhsCategory,
const RHS_TYPE &  rhs,
bdlat_TypeCategory::DynamicType  rhsCategory 
)
template<class LHS_TYPE , class RHS_TYPE , class RHS_CATEGORY >
int bdlat_SymbolicConverter_Imp::resolveDynamicTypes ( LHS_TYPE *  lhs,
bdlat_TypeCategory::DynamicType  lhsCategory,
const RHS_TYPE &  rhs,
RHS_CATEGORY  rhsCategory 
)
template<class LHS_TYPE , class LHS_CATEGORY , class RHS_TYPE >
int bdlat_SymbolicConverter_Imp::resolveDynamicTypes ( LHS_TYPE *  lhs,
LHS_CATEGORY  lhsCategory,
const RHS_TYPE &  rhs,
bdlat_TypeCategory::DynamicType  rhsCategory 
)
template<class LHS_TYPE , class LHS_CATEGORY , class RHS_TYPE , class RHS_CATEGORY >
int bdlat_SymbolicConverter_Imp::resolveDynamicTypes ( LHS_TYPE *  lhs,
LHS_CATEGORY  lhsCategory,
const RHS_TYPE &  rhs,
RHS_CATEGORY  rhsCategory 
)

Resolve dynamic types.

template<class LHS_TYPE , class RHS_TYPE >
int bdlat_SymbolicConverter_Imp::convert ( LHS_TYPE *  lhs,
const RHS_TYPE &  rhs 
)

Implementation for convert function.

bsl::ostream& bdlat_SymbolicConverter_Imp::errorStream (  ) 

Return a reference to the error stream.


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