8#include "Arp/Base/Rsc/Commons/RscType.hpp"
9#include "Arp/Base/Rsc/Commons/RscSerializable.hpp"
13namespace Arp::Base::Commons::Security
17namespace Arp::Base::Rsc::Commons
21template<
int N>
class RscString;
22template<
int N>
class RscSecureString;
23template<
int N>
class RscVariant;
26namespace Arp::Base::Rsc::Commons::Impl
47constexpr RscType GetRscType(
void)
50 return std::is_enum<T>::value ? GetRscType<typename underlying_enum_type<T>::type>() :
52 std::is_base_of<RscSerializable, T>::value ? RscType::Struct :
54 std::is_array<T>::value ? RscType::Array : RscType::None
60constexpr RscType GetRscType<boolean>()
66constexpr RscType GetRscType<char8>()
68 return RscType::Uint8;
72constexpr RscType GetRscType<char16>()
78constexpr RscType GetRscType<uint8>()
80 return RscType::Uint8;
84constexpr RscType GetRscType<int8>()
90constexpr RscType GetRscType<uint16>()
92 return RscType::Uint16;
96constexpr RscType GetRscType<int16>()
98 return RscType::Int16;
102constexpr RscType GetRscType<uint32>()
104 return RscType::Uint32;
108constexpr RscType GetRscType<int32>()
110 return RscType::Int32;
114constexpr RscType GetRscType<uint64>()
116 return RscType::Uint64;
120constexpr RscType GetRscType<int64>()
122 return RscType::Int64;
126constexpr RscType GetRscType<float32>()
128 return RscType::Real32;
132constexpr RscType GetRscType<float64>()
134 return RscType::Real64;
138constexpr RscType GetRscType<String>()
140 return RscType::String;
144constexpr RscType GetRscType<char8*>()
146 return RscType::String;
150constexpr RscType GetRscType<char8[]>()
152 return RscType::String;
156constexpr RscType GetRscType<const char8*>()
158 return RscType::String;
162constexpr RscType GetRscType<const char8[]>()
164 return RscType::String;
168constexpr RscType GetRscType<SecurityToken>()
170 return RscType::SecurityToken;
174constexpr RscType GetRscType<DateTime>()
176 return RscType::DateTime;
180constexpr RscType GetRscType<RscVersion>()
182 return RscType::Version;
186constexpr RscType GetRscType<RscGuid>()
188 return RscType::Guid;
This class is used for authorization of arbitrary operations.
Definition: SecurityToken.hpp:18
Definition: RscTypeDeduction.Impl.hpp:33