@@ -80,18 +80,18 @@ template <class Condition, typename T = void>
8080struct enable_if_c : public enable_if_impl <Condition::value, T> {};
8181
8282template <typename T0, typename T1>
83- struct size_gt {
84- static constexpr bool value = sizeof (T0) > sizeof (T1);
83+ struct align_gt {
84+ static constexpr bool value = __alignof__ (T0) > __alignof__ (T1);
8585};
8686template <typename T0, typename T1>
87- struct size_le {
88- static constexpr bool value = sizeof (T0) <= sizeof (T1);
87+ struct align_le {
88+ static constexpr bool value = __alignof__ (T0) <= __alignof__ (T1);
8989};
9090
9191template <typename T0, typename T1, typename T = void >
92- struct enable_if_size_gt : enable_if<size_gt <T0,T1>::value, T> {};
92+ struct enable_if_align_gt : enable_if<align_gt <T0,T1>::value, T> {};
9393template <typename T0, typename T1, typename T = void >
94- struct enable_if_size_le : enable_if<size_le <T0,T1>::value, T> {};
94+ struct enable_if_align_le : enable_if<align_le <T0,T1>::value, T> {};
9595
9696
9797
@@ -120,7 +120,7 @@ struct tuple_impl<void, T0> {
120120};
121121
122122template <typename T0, typename T1, typename ... T>
123- struct tuple_impl <typename enable_if_size_gt <T0, T1>::type, T0, T1, T...> {
123+ struct tuple_impl <typename enable_if_align_gt <T0, T1>::type, T0, T1, T...> {
124124 T0 t0;
125125 tuple_impl<void , T1, T...> t;
126126
@@ -137,7 +137,7 @@ struct tuple_impl<typename enable_if_size_gt<T0, T1>::type, T0, T1, T...> {
137137};
138138
139139template <typename T0, typename T1, typename ... T>
140- struct tuple_impl <typename enable_if_size_le <T0, T1>::type, T0, T1, T...> {
140+ struct tuple_impl <typename enable_if_align_le <T0, T1>::type, T0, T1, T...> {
141141 tuple_impl<void , T1, T...> t;
142142 T0 t0;
143143
0 commit comments