Quick Links: |
#include <bdlat_symbolicconverter.h>
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 () |
This class contains implementation functions for this component.
See Component bdlat_symbolicconverter
bdlat_SymbolicConverter_Imp::bdlat_SymbolicConverter_Imp | ( | bsl::ostream * | errorStream | ) |
Create the imp object.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
int bdlat_SymbolicConverter_Imp::resolveDynamicTypes | ( | LHS_TYPE * | lhs, | |
bdlat_TypeCategory::DynamicType | lhsCategory, | |||
const RHS_TYPE & | rhs, | |||
bdlat_TypeCategory::DynamicType | rhsCategory | |||
) |
int bdlat_SymbolicConverter_Imp::resolveDynamicTypes | ( | LHS_TYPE * | lhs, | |
bdlat_TypeCategory::DynamicType | lhsCategory, | |||
const RHS_TYPE & | rhs, | |||
RHS_CATEGORY | rhsCategory | |||
) |
int bdlat_SymbolicConverter_Imp::resolveDynamicTypes | ( | LHS_TYPE * | lhs, | |
LHS_CATEGORY | lhsCategory, | |||
const RHS_TYPE & | rhs, | |||
bdlat_TypeCategory::DynamicType | rhsCategory | |||
) |
int bdlat_SymbolicConverter_Imp::resolveDynamicTypes | ( | LHS_TYPE * | lhs, | |
LHS_CATEGORY | lhsCategory, | |||
const RHS_TYPE & | rhs, | |||
RHS_CATEGORY | rhsCategory | |||
) |
Resolve dynamic types.
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.