📄 true_typedef.hpp
字号:
inline true_typedef<T, U> operator >>(ss_typename_type_k true_typedef<T, U>::value_type const& lhs, true_typedef<T, U> const& rhs)
#else /* ? STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
inline true_typedef<T, U> operator >>(T const& lhs, true_typedef<T, U> const& rhs)
#endif /* STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
{
return true_typedef<T, U>(lhs >> rhs.base_type_value());
}
// operator &
template< ss_typename_param_k T
, ss_typename_param_k U>
inline true_typedef<T, U> operator &(true_typedef<T, U> const& lhs, true_typedef<T, U> const& rhs)
{
return true_typedef<T, U>(lhs.base_type_value() & rhs.base_type_value());
}
template< ss_typename_param_k T
, ss_typename_param_k U>
#ifdef STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT
inline true_typedef<T, U> operator &(true_typedef<T, U> const& lhs, ss_typename_type_k true_typedef<T, U>::value_type const& rhs)
#else /* ? STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
inline true_typedef<T, U> operator &(true_typedef<T, U> const& lhs, T const& rhs)
#endif /* STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
{
return true_typedef<T, U>(lhs.base_type_value() & rhs);
}
template< ss_typename_param_k T
, ss_typename_param_k U>
#ifdef STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT
inline true_typedef<T, U> operator &(ss_typename_type_k true_typedef<T, U>::value_type const& lhs, true_typedef<T, U> const& rhs)
#else /* ? STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
inline true_typedef<T, U> operator &(T const& lhs, true_typedef<T, U> const& rhs)
#endif /* STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
{
return true_typedef<T, U>(lhs & rhs.base_type_value());
}
// operator |
template< ss_typename_param_k T
, ss_typename_param_k U>
inline true_typedef<T, U> operator |(true_typedef<T, U> const& lhs, true_typedef<T, U> const& rhs)
{
return true_typedef<T, U>(lhs.base_type_value() | rhs.base_type_value());
}
template< ss_typename_param_k T
, ss_typename_param_k U>
#ifdef STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT
inline true_typedef<T, U> operator |(true_typedef<T, U> const& lhs, ss_typename_type_k true_typedef<T, U>::value_type const& rhs)
#else /* ? STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
inline true_typedef<T, U> operator |(true_typedef<T, U> const& lhs, T const& rhs)
#endif /* STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
{
return true_typedef<T, U>(lhs.base_type_value() | rhs);
}
template< ss_typename_param_k T
, ss_typename_param_k U>
#ifdef STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT
inline true_typedef<T, U> operator |(ss_typename_type_k true_typedef<T, U>::value_type const& lhs, true_typedef<T, U> const& rhs)
#else /* ? STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
inline true_typedef<T, U> operator |(T const& lhs, true_typedef<T, U> const& rhs)
#endif /* STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
{
return true_typedef<T, U>(lhs | rhs.base_type_value());
}
// operator +=
template< ss_typename_param_k T
, ss_typename_param_k U>
#ifdef STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT
inline true_typedef<T, U> const& operator +=(true_typedef<T, U> &v, ss_typename_type_k true_typedef<T, U>::value_type const& rhs)
#else /* ? STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
inline true_typedef<T, U> const& operator +=(true_typedef<T, U> &v, T const& rhs)
#endif /* STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
{
v.base_type_value() += rhs;
return v;
}
template< ss_typename_param_k T
, ss_typename_param_k U>
inline true_typedef<T, U> const& operator +=(true_typedef<T, U> &v, true_typedef<T, U> const& rhs)
{
v.base_type_value() += rhs.base_type_value();
return v;
}
// operator -=
template< ss_typename_param_k T
, ss_typename_param_k U>
#ifdef STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT
inline true_typedef<T, U> const& operator -=(true_typedef<T, U> &v, ss_typename_type_k true_typedef<T, U>::value_type const& rhs)
#else /* ? STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
inline true_typedef<T, U> const& operator -=(true_typedef<T, U> &v, T const& rhs)
#endif /* STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
{
v.base_type_value() -= rhs;
return v;
}
template< ss_typename_param_k T
, ss_typename_param_k U>
inline true_typedef<T, U> const& operator -=(true_typedef<T, U> &v, true_typedef<T, U> const& rhs)
{
v.base_type_value() -= rhs.base_type_value();
return v;
}
// operator *=
template< ss_typename_param_k T
, ss_typename_param_k U>
#ifdef STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT
inline true_typedef<T, U> const& operator *=(true_typedef<T, U> &v, ss_typename_type_k true_typedef<T, U>::value_type const& rhs)
#else /* ? STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
inline true_typedef<T, U> const& operator *=(true_typedef<T, U> &v, T const& rhs)
#endif /* STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
{
v.base_type_value() *= rhs;
return v;
}
template< ss_typename_param_k T
, ss_typename_param_k U>
inline true_typedef<T, U> const& operator *=(true_typedef<T, U> &v, true_typedef<T, U> const& rhs)
{
v.base_type_value() *= rhs.base_type_value();
return v;
}
// operator /=
template< ss_typename_param_k T
, ss_typename_param_k U>
#ifdef STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT
inline true_typedef<T, U> const& operator /=(true_typedef<T, U> &v, ss_typename_type_k true_typedef<T, U>::value_type const& rhs)
#else /* ? STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
inline true_typedef<T, U> const& operator /=(true_typedef<T, U> &v, T const& rhs)
#endif /* STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
{
v.base_type_value() /= rhs;
return v;
}
template< ss_typename_param_k T
, ss_typename_param_k U>
inline true_typedef<T, U> const& operator /=(true_typedef<T, U> &v, true_typedef<T, U> const& rhs)
{
v.base_type_value() /= rhs.base_type_value();
return v;
}
// operator %=
template< ss_typename_param_k T
, ss_typename_param_k U>
#ifdef STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT
inline true_typedef<T, U> const& operator %=(true_typedef<T, U> &v, ss_typename_type_k true_typedef<T, U>::value_type const& rhs)
#else /* ? STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
inline true_typedef<T, U> const& operator %=(true_typedef<T, U> &v, T const& rhs)
#endif /* STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
{
v.base_type_value() %= rhs;
return v;
}
template< ss_typename_param_k T
, ss_typename_param_k U>
inline true_typedef<T, U> const& operator %=(true_typedef<T, U> &v, true_typedef<T, U> const& rhs)
{
v.base_type_value() %= rhs.base_type_value();
return v;
}
// operator ^=
template< ss_typename_param_k T
, ss_typename_param_k U>
#ifdef STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT
inline true_typedef<T, U> const& operator ^=(true_typedef<T, U> &v, ss_typename_type_k true_typedef<T, U>::value_type const& rhs)
#else /* ? STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
inline true_typedef<T, U> const& operator ^=(true_typedef<T, U> &v, T const& rhs)
#endif /* STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
{
v.base_type_value() ^= rhs;
return v;
}
template< ss_typename_param_k T
, ss_typename_param_k U>
inline true_typedef<T, U> const& operator ^=(true_typedef<T, U> &v, true_typedef<T, U> const& rhs)
{
v.base_type_value() ^= rhs.base_type_value();
return v;
}
// operator <<=
template< ss_typename_param_k T
, ss_typename_param_k U>
#ifdef STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT
inline true_typedef<T, U> const& operator <<=(true_typedef<T, U> &v, ss_typename_type_k true_typedef<T, U>::value_type const& rhs)
#else /* ? STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
inline true_typedef<T, U> const& operator <<=(true_typedef<T, U> &v, T const& rhs)
#endif /* STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
{
v.base_type_value() <<= rhs;
return v;
}
template< ss_typename_param_k T
, ss_typename_param_k U>
inline true_typedef<T, U> const& operator <<=(true_typedef<T, U> &v, true_typedef<T, U> const& rhs)
{
v.base_type_value() <<= rhs.base_type_value();
return v;
}
// operator >>=
template< ss_typename_param_k T
, ss_typename_param_k U>
#ifdef STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT
inline true_typedef<T, U> const& operator >>=(true_typedef<T, U> &v, ss_typename_type_k true_typedef<T, U>::value_type const& rhs)
#else /* ? STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
inline true_typedef<T, U> const& operator >>=(true_typedef<T, U> &v, T const& rhs)
#endif /* STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
{
v.base_type_value() >>= rhs;
return v;
}
template< ss_typename_param_k T
, ss_typename_param_k U>
inline true_typedef<T, U> const& operator >>=(true_typedef<T, U> &v, true_typedef<T, U> const& rhs)
{
v.base_type_value() >>= rhs.base_type_value();
return v;
}
// operator &=
template< ss_typename_param_k T
, ss_typename_param_k U>
#ifdef STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT
inline true_typedef<T, U> const& operator &=(true_typedef<T, U> &v, ss_typename_type_k true_typedef<T, U>::value_type const& rhs)
#else /* ? STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
inline true_typedef<T, U> const& operator &=(true_typedef<T, U> &v, T const& rhs)
#endif /* STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
{
v.base_type_value() &= rhs;
return v;
}
template< ss_typename_param_k T
, ss_typename_param_k U>
inline true_typedef<T, U> const& operator &=(true_typedef<T, U> &v, true_typedef<T, U> const& rhs)
{
v.base_type_value() &= rhs.base_type_value();
return v;
}
// operator |=
template< ss_typename_param_k T
, ss_typename_param_k U>
#ifdef STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT
inline true_typedef<T, U> const& operator |=(true_typedef<T, U> &v, ss_typename_type_k true_typedef<T, U>::value_type const& rhs)
#else /* ? STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
inline true_typedef<T, U> const& operator |=(true_typedef<T, U> &v, T const& rhs)
#endif /* STLSOFT_CF_TEMPLATE_OUTOFCLASSFN_QUALIFIED_TYPE_SUPPORT */
{
v.base_type_value() |= rhs;
return v;
}
template< ss_typename_param_k T
, ss_typename_param_k U>
inline true_typedef<T, U> const& operator |=(true_typedef<T, U> &v, true_typedef<T, U> const& rhs)
{
v.base_type_value() |= rhs.base_type_value();
return v;
}
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
/* /////////////////////////////////////////////////////////////////////////
* Unit-testing
*/
#ifdef STLSOFT_UNITTEST
# include "./unittest/true_typedef_unittest_.h"
#endif /* STLSOFT_UNITTEST */
/* ////////////////////////////////////////////////////////////////////// */
#ifndef _STLSOFT_NO_NAMESPACE
} // namespace stlsoft
#endif /* _STLSOFT_NO_NAMESPACE */
/* ////////////////////////////////////////////////////////////////////// */
#endif /* !STLSOFT_INCL_STLSOFT_UTIL_HPP_TRUE_TYPEDEF */
/* ////////////////////////////////////////////////////////////////////// */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -