try_implicit_cast<>() --> coerceOrFallback<>()

This commit is contained in:
Pavel Kirienko
2015-06-05 15:21:05 +03:00
parent 1f1679c75d
commit 8ab48f61e7
9 changed files with 34 additions and 34 deletions
@@ -46,7 +46,7 @@ public:
*/
operator bool() const
{
return try_implicit_cast<bool>(obj_, true) && try_implicit_cast<bool>(fun_, true);
return coerceOrFallback<bool>(obj_, true) && coerceOrFallback<bool>(fun_, true);
}
/**
+9 -9
View File
@@ -137,12 +137,12 @@ public:
};
/**
* try_implicit_cast<>(From)
* try_implicit_cast<>(From, To)
* coerceOrFallback<To>(From)
* coerceOrFallback<To>(From, To)
* @{
*/
template <typename From, typename To>
struct UAVCAN_EXPORT TryImplicitCastImpl
struct UAVCAN_EXPORT CoerceOrFallbackImpl
{
static To impl(const From& from, const To&, TrueType) { return To(from); }
static To impl(const From&, const To& default_, FalseType) { return default_; }
@@ -154,10 +154,10 @@ struct UAVCAN_EXPORT TryImplicitCastImpl
*/
template <typename To, typename From>
UAVCAN_EXPORT
To try_implicit_cast(const From& from, const To& default_)
To coerceOrFallback(const From& from, const To& default_)
{
return TryImplicitCastImpl<From, To>::impl(from, default_,
BooleanType<IsImplicitlyConvertibleFromTo<From, To>::Result>());
return CoerceOrFallbackImpl<From, To>::impl(from, default_,
BooleanType<IsImplicitlyConvertibleFromTo<From, To>::Result>());
}
/**
@@ -166,10 +166,10 @@ To try_implicit_cast(const From& from, const To& default_)
*/
template <typename To, typename From>
UAVCAN_EXPORT
To try_implicit_cast(const From& from)
To coerceOrFallback(const From& from)
{
return TryImplicitCastImpl<From, To>::impl(from, To(),
BooleanType<IsImplicitlyConvertibleFromTo<From, To>::Result>());
return CoerceOrFallbackImpl<From, To>::impl(from, To(),
BooleanType<IsImplicitlyConvertibleFromTo<From, To>::Result>());
}
/**
* @}