]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/align/test/align_test.cpp
2 (c) 2014-2015 Glen Joseph Fernandes
3 <glenjofe -at- gmail.com>
5 Distributed under the Boost Software
7 http://boost.org/LICENSE_1_0.txt
9 #include <boost/align/align.hpp>
10 #include <boost/align/is_aligned.hpp>
11 #include <boost/core/lightweight_test.hpp>
13 template<std::size_t Alignment
>
16 char s
[Alignment
<< 1];
18 while (!boost::alignment::is_aligned(b
, Alignment
)) {
22 std::size_t n
= Alignment
;
24 void* q
= boost::alignment::align(Alignment
, 1, p
, n
);
27 BOOST_TEST(boost::alignment::is_aligned(q
, Alignment
));
28 BOOST_TEST(n
== Alignment
);
33 void* q
= boost::alignment::align(Alignment
, 1, p
, n
);
39 std::size_t n
= Alignment
- 1;
41 void* q
= boost::alignment::align(Alignment
, 1, p
, n
);
43 BOOST_TEST(p
== &b
[1]);
44 BOOST_TEST(n
== Alignment
- 1);
47 std::size_t n
= Alignment
;
49 void* q
= boost::alignment::align(Alignment
, 1, p
, n
);
51 BOOST_TEST(p
== &b
[Alignment
]);
52 BOOST_TEST(boost::alignment::is_aligned(q
, Alignment
));
68 return boost::report_errors();