型定義 | |
template<typename T > | |
using | RemoveConstT = typename std::remove_const<T>::type |
template<typename T > | |
using | RemoveVolatileT = typename std::remove_volatile<T>::type |
template<typename T > | |
using | RemoveReferenceT = typename std::remove_reference<T>::type |
template<typename T > | |
using | RemoveCVRefT = RemoveConstT<RemoveVolatileT<RemoveReferenceT<T>>> |
template<typename T > | |
using | IsBool = std::is_same<T, bool> |
template<typename T > | |
using | IsIntegral = std::is_integral<T> |
template<typename T > | |
using | IsIntegralNotBool = std::integral_constant<bool, IsIntegral<T>::value and not IsBool<T>::value> |
template<typename T > | |
using | IsFloatingPoint = std::is_floating_point<T> |
template<typename T > | |
using | IsArithmetic = std::is_arithmetic<T> |
template<typename T > | |
using | IsScalar = std::is_scalar<T> |
template<typename T > | |
using | IsEnum = std::is_enum<T> |
template<typename T > | |
using | IsArray = std::is_array<T> |
template<typename T > | |
using | DecayT = typename std::decay<T>::type |
template<typename T > | |
using | IsCString = std::is_same<DecayT<T>, const char*> |
template<bool Test, typename T = void> | |
using | EnableIfT = typename std::enable_if<Test, T>::type |
template<bool Test> | |
using | EnableIfVoidT = EnableIfT<Test, void> |
template<bool Test, typename T = void> | |
using | DisableIfT = typename std::enable_if<not Test, T>::type |
template<bool Test> | |
using | DisableIfVoidT = DisableIfT<Test, void> |
template<bool Test> | |
using | EnableIfNullptrT = EnableIfT<Test, std::nullptr_t> |
template<bool Test> | |
using | DisableIfNullptrT = DisableIfT<not Test, std::nullptr_t> |
関数 | |
template<typename HasMemberFunctionBegin , typename std::enable_if< Traits::HasMemberFunctionBegin< HasMemberFunctionBegin >::value, std::nullptr_t >::type = nullptr> | |
void | MaybeInvokeBegin (HasMemberFunctionBegin &rhs) |
T に T::begin 関数が存在する場合呼び出す。それ以外の場合何もしない。 | |
template<typename HasMemberFunctionShow , typename std::enable_if< Traits::HasMemberFunctionShow< HasMemberFunctionShow >::value, std::nullptr_t >::type = nullptr> | |
void | MaybeInvokeShow (const HasMemberFunctionShow &rhs) |
T に T::show const 関数が存在する場合呼び出す。それ以外の場合何もしない。 | |
template<typename HasMemberFunctionShowRaw , typename std::enable_if< Traits::HasMemberFunctionShowRaw< HasMemberFunctionShowRaw >::value, std::nullptr_t >::type = nullptr> | |
void | MaybeInvokeShowRaw (const HasMemberFunctionShowRaw &rhs) |
T に T::showRaw const 関数が存在する場合呼び出す。それ以外の場合何もしない。 | |
template<typename HasMemberFunctionUpdate , typename std::enable_if< Traits::HasMemberFunctionUpdate< HasMemberFunctionUpdate >::value, std::nullptr_t >::type = nullptr> | |
void | MaybeInvokeUpdate (HasMemberFunctionUpdate &rhs) |
T に T::update 関数が存在する場合呼び出す。それ以外の場合何もしない。 | |
using Udon::Traits::DecayT = typename std::decay<T>::type |
using Udon::Traits::DisableIfNullptrT = DisableIfT<not Test, std::nullptr_t> |
using Udon::Traits::DisableIfT = typename std::enable_if<not Test, T>::type |
using Udon::Traits::DisableIfVoidT = DisableIfT<Test, void> |
using Udon::Traits::EnableIfNullptrT = EnableIfT<Test, std::nullptr_t> |
using Udon::Traits::EnableIfT = typename std::enable_if<Test, T>::type |
using Udon::Traits::EnableIfVoidT = EnableIfT<Test, void> |
using Udon::Traits::IsArithmetic = std::is_arithmetic<T> |
using Udon::Traits::IsArray = std::is_array<T> |
using Udon::Traits::IsBool = std::is_same<T, bool> |
using Udon::Traits::IsCString = std::is_same<DecayT<T>, const char*> |
using Udon::Traits::IsEnum = std::is_enum<T> |
using Udon::Traits::IsFloatingPoint = std::is_floating_point<T> |
using Udon::Traits::IsIntegral = std::is_integral<T> |
using Udon::Traits::IsIntegralNotBool = std::integral_constant<bool, IsIntegral<T>::value and not IsBool<T>::value> |
using Udon::Traits::IsScalar = std::is_scalar<T> |
using Udon::Traits::RemoveConstT = typename std::remove_const<T>::type |
using Udon::Traits::RemoveCVRefT = RemoveConstT<RemoveVolatileT<RemoveReferenceT<T>>> |
using Udon::Traits::RemoveReferenceT = typename std::remove_reference<T>::type |
using Udon::Traits::RemoveVolatileT = typename std::remove_volatile<T>::type |
void Udon::Traits::MaybeInvokeBegin | ( | HasMemberFunctionBegin & | rhs | ) |
T に T::begin
関数が存在する場合呼び出す。それ以外の場合何もしない。
void Udon::Traits::MaybeInvokeShow | ( | const HasMemberFunctionShow & | rhs | ) |
T に T::show const
関数が存在する場合呼び出す。それ以外の場合何もしない。
void Udon::Traits::MaybeInvokeShowRaw | ( | const HasMemberFunctionShowRaw & | rhs | ) |
T に T::showRaw const
関数が存在する場合呼び出す。それ以外の場合何もしない。
void Udon::Traits::MaybeInvokeUpdate | ( | HasMemberFunctionUpdate & | rhs | ) |
T に T::update
関数が存在する場合呼び出す。それ以外の場合何もしない。