Lines Matching refs:T
72 template <typename T>
80 static int op(Payload& p, const T& t) in op()
82 static_assert(std::is_integral_v<T>, in op()
87 PackBytesUnaligned<T>(p, t); in op()
92 p.raw.resize(p.raw.size() + sizeof(T)); in op()
93 uint8_t* out = p.raw.data() + p.raw.size() - sizeof(T); in op()
94 PackBytes<T>(out, t); in op()
101 template <typename... T>
102 struct PackSingle<std::tuple<T...>>
104 static int op(Payload& p, const std::tuple<T...>& v) in op()
106 return std::apply([&p](const T&... args) { return p.pack(args...); }, in op()
189 template <typename T>
190 struct PackSingle<std::optional<T>>
192 static int op(Payload& p, const std::optional<T>& t) in op()
197 ret = PackSingle<T>::op(p, *t); in op()
204 template <typename T, size_t N>
205 struct PackSingle<std::array<T, N>>
207 static int op(Payload& p, const std::array<T, N>& t) in op()
212 int ret = PackSingle<T>::op(p, v); in op()
223 template <typename T>
224 struct PackSingle<std::vector<T>>
226 static int op(Payload& p, const std::vector<T>& t) in op()
231 int ret = PackSingle<T>::op(p, v); in op()
306 template <typename... T>
307 struct PackSingle<std::variant<T...>>
309 static int op(Payload& p, const std::variant<T...>& v) in op()