Lines Matching refs:U1
278 template <class T, class U1, class U2>
279 struct is_subtype<T, UnionT<U1, U2>> {
281 is_subtype<T, U1>::value || is_subtype<T, U2>::value;
283 template <class T1, class T2, class U1, class U2>
284 struct is_subtype<UnionT<T1, T2>, UnionT<U1, U2>> {
286 (is_subtype<T1, U1>::value || is_subtype<T1, U2>::value) &&
287 (is_subtype<T2, U1>::value || is_subtype<T2, U2>::value);
332 template <class T, class U1, class U2>
333 struct types_have_common_values<T, UnionT<U1, U2>> {
334 static const bool value = types_have_common_values<T, U1>::value ||
337 template <class T1, class T2, class U1, class U2>
338 struct types_have_common_values<UnionT<T1, T2>, UnionT<U1, U2>> {
339 static const bool value = types_have_common_values<T1, U1>::value ||
341 types_have_common_values<T2, U1>::value ||