UdonLibrary 1.0.0
機械システム研究部 C++ ライブラリ
読み取り中…
検索中…
一致する文字列を見つけられません
ReaderWriterTraits.hpp
[詳解]
1//
2// 送受信者要件を満たすか判定する
3//
4// Copyright (c) 2022-2024 udonrobo
5//
6
7#pragma once
8
10#include <type_traits>
11
12namespace Udon
13{
14
15 namespace Traits
16 {
17
22 template <template <typename> class, typename = void>
23 struct IsWriter
24 : std::false_type
25 {
26 };
27
28 template <template <typename> class T>
29 struct IsWriter<T, typename std::enable_if<std::is_same<
30 decltype(std::declval<T<int>>().setMessage(std::declval<const typename T<int>::MessageType&>())), void>::value>::type>
31 : std::true_type
32 {
33 };
34
39 template <template <typename> class, typename = void>
40 struct IsReader
41 : std::false_type
42 {
43 };
44
45 template <template <typename> class T>
46 struct IsReader<T, typename std::enable_if<std::is_same<
47 decltype(std::declval<T<int>>().getMessage()), Udon::Optional<typename T<int>::MessageType>>::value>::type>
48 : std::true_type
49 {
50 };
51
52 } // namespace Traits
53
54} // namespace Udon
Definition Bit.hpp:12
Definition Typedef.hpp:94
送信クラスであるか判定
Definition ReaderWriterTraits.hpp:42
送信クラスであるか判定
Definition ReaderWriterTraits.hpp:25