Lines Matching refs:T2
120 template <class T1, class T2>
228 template <class T1, class T2>
229 struct is_valid_type_tag<PairT<T1, T2>> {
231 is_valid_type_tag<T1>::value && is_valid_type_tag<T2>::value;
235 template <class T1, class T2>
238 template <class T1, class T2>
239 struct is_valid_type_tag<UnionT<T1, T2>> {
241 is_valid_type_tag<T1>::is_tagged && is_valid_type_tag<T2>::is_tagged;
245 template <class T1, class T2>
248 CommonMachineType(MachineTypeOf<T1>::value, MachineTypeOf<T2>::value);
254 is_valid_type_tag<T2>::is_tagged,
273 template <class T1, class T2, class U>
274 struct is_subtype<UnionT<T1, T2>, U> {
276 is_subtype<T1, U>::value && is_subtype<T2, U>::value;
283 template <class T1, class T2, class U1, class U2>
284 struct is_subtype<UnionT<T1, T2>, UnionT<U1, U2>> {
287 (is_subtype<T2, U1>::value || is_subtype<T2, U2>::value);
326 template <class T1, class T2, class U>
327 struct types_have_common_values<UnionT<T1, T2>, U> {
329 types_have_common_values<T2, U>::value;
337 template <class T1, class T2, class U1, class U2>
338 struct types_have_common_values<UnionT<T1, T2>, UnionT<U1, U2>> {
341 types_have_common_values<T2, U1>::value ||
342 types_have_common_values<T2, U2>::value;
352 // - PairT<T1, T2> for an operation returning two values, with types T1
353 // and T2
354 // - UnionT<T1, T2> represents either a value of type T1 or of type T2.