File tree 1 file changed +6
-8
lines changed
1 file changed +6
-8
lines changed Original file line number Diff line number Diff line change 5
5
#include < stdexcept>
6
6
7
7
bool operator ==(const in6_addr& l, const in6_addr& r) {
8
- return l.__u6_addr .__u6_addr32 [0 ] == r.__u6_addr .__u6_addr32 [0 ]
9
- && l.__u6_addr .__u6_addr32 [1 ] == r.__u6_addr .__u6_addr32 [1 ]
10
- && l.__u6_addr .__u6_addr32 [2 ] == r.__u6_addr .__u6_addr32 [2 ]
11
- && l.__u6_addr .__u6_addr32 [3 ] == r.__u6_addr .__u6_addr32 [3 ];
8
+ const uint64_t * const l_array = reinterpret_cast <const uint64_t *>(&l);
9
+ const uint64_t * const r_array = reinterpret_cast <const uint64_t *>(&r);
10
+ return l_array[0 ] == r_array[0 ] && l_array[1 ] == r_array[1 ];
12
11
}
13
12
14
13
bool operator !=(const in6_addr& l, const in6_addr& r) {
15
- return l.__u6_addr .__u6_addr32 [0 ] != r.__u6_addr .__u6_addr32 [0 ]
16
- || l.__u6_addr .__u6_addr32 [1 ] != r.__u6_addr .__u6_addr32 [1 ]
17
- || l.__u6_addr .__u6_addr32 [2 ] != r.__u6_addr .__u6_addr32 [2 ]
18
- || l.__u6_addr .__u6_addr32 [3 ] != r.__u6_addr .__u6_addr32 [3 ];
14
+ const uint64_t * const l_array = reinterpret_cast <const uint64_t *>(&l);
15
+ const uint64_t * const r_array = reinterpret_cast <const uint64_t *>(&r);
16
+ return l_array[0 ] != r_array[0 ] || l_array[1 ] != r_array[1 ];
19
17
}
20
18
21
19
namespace clickhouse {
You can’t perform that action at this time.
0 commit comments