UdonLibrary
1.0.0
機械システム研究部 C++ ライブラリ
読み取り中…
検索中…
一致する文字列を見つけられません
ReaderWriterTraits.hpp
[詳解]
1
//
2
// 送受信者要件を満たすか判定する
3
//
4
// Copyright (c) 2022-2024 udonrobo
5
//
6
7
#pragma once
8
9
#include <
Udon/Stl/EnableSTL.hpp
>
10
#include <type_traits>
11
12
namespace
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
EnableSTL.hpp
Udon
Definition
Bit.hpp:12
std
Definition
Typedef.hpp:94
Udon::Traits::IsReader
送信クラスであるか判定
Definition
ReaderWriterTraits.hpp:42
Udon::Traits::IsWriter
送信クラスであるか判定
Definition
ReaderWriterTraits.hpp:25