19 template <
typename,
typename =
void>
29 template <typename HasMemberFunctionBegin, typename std::enable_if<Traits::HasMemberFunctionBegin<HasMemberFunctionBegin>::value, std::nullptr_t>::type =
nullptr>
36 template <typename HasMemberFunctionBegin, typename std::enable_if<not Traits::HasMemberFunctionBegin<HasMemberFunctionBegin>::value, std::nullptr_t>::type =
nullptr>
46 template <
typename,
typename =
void>
56 template <typename HasMemberFunctionShow, typename std::enable_if<Traits::HasMemberFunctionShow<HasMemberFunctionShow>::value, std::nullptr_t>::type =
nullptr>
63 template <typename HasMemberFunctionShow, typename std::enable_if<not Traits::HasMemberFunctionShow<HasMemberFunctionShow>::value, std::nullptr_t>::type =
nullptr>
73 template <
typename,
typename =
void>
83 template <typename HasMemberFunctionShowRaw, typename std::enable_if<Traits::HasMemberFunctionShowRaw<HasMemberFunctionShowRaw>::value, std::nullptr_t>::type =
nullptr>
90 template <typename HasMemberFunctionShowRaw, typename std::enable_if<not Traits::HasMemberFunctionShowRaw<HasMemberFunctionShowRaw>::value, std::nullptr_t>::type =
nullptr>
100 template <
typename,
typename =
void>
104 template <
typename T>
110 template <typename HasMemberFunctionUpdate, typename std::enable_if<Traits::HasMemberFunctionUpdate<HasMemberFunctionUpdate>::value, std::nullptr_t>::type =
nullptr>
117 template <typename HasMemberFunctionUpdate, typename std::enable_if<not Traits::HasMemberFunctionUpdate<HasMemberFunctionUpdate>::value, std::nullptr_t>::type =
nullptr>
133 template <
typename T,
typename =
void>
138 template <
typename T>
140 std::is_same<decltype(std::declval<T>().enumerate(std::declval<DummyEnumerator&>())), typename DummyEnumerator::ResultType>::value
146 template <
typename OutputStream,
typename T,
typename =
void>
151 template <
typename OutputStream,
typename T>
152 struct IsOutputStreamable<OutputStream, T,
std::void_t<decltype(std::declval<OutputStream&>() << std::declval<T>())>>
void MaybeInvokeShow(const HasMemberFunctionShow &rhs)
T に T::show const 関数が存在する場合呼び出す。それ以外の場合何もしない。
Definition HasMemberFunction.hpp:57
void MaybeInvokeBegin(HasMemberFunctionBegin &rhs)
T に T::begin 関数が存在する場合呼び出す。それ以外の場合何もしない。
Definition HasMemberFunction.hpp:30
void MaybeInvokeUpdate(HasMemberFunctionUpdate &rhs)
T に T::update 関数が存在する場合呼び出す。それ以外の場合何もしない。
Definition HasMemberFunction.hpp:111
void MaybeInvokeShowRaw(const HasMemberFunctionShowRaw &rhs)
T に T::showRaw const 関数が存在する場合呼び出す。それ以外の場合何もしない。
Definition HasMemberFunction.hpp:84
Definition Typedef.hpp:94
Definition HasMemberFunction.hpp:128
void ResultType
Definition HasMemberFunction.hpp:129
T に T::begin 関数が存在するか
Definition HasMemberFunction.hpp:21
T に enumerate(f) が存在するかどうかを判定する
Definition HasMemberFunction.hpp:135
T に T::showRaw 関数が存在するか
Definition HasMemberFunction.hpp:75
T に T::show 関数が存在するか
Definition HasMemberFunction.hpp:48
T に T::update 関数が存在するか
Definition HasMemberFunction.hpp:102
Definition HasMemberFunction.hpp:148