/* (c) 2014 Glen Joseph Fernandes Distributed under the Boost Software License, Version 1.0. http://boost.org/LICENSE_1_0.txt */ #include #include #include template void test() { char s[Alignment << 1]; char* b = s; while (!boost::alignment::is_aligned(b, Alignment)) { b++; } std::size_t n = Alignment; { void* p = &b[n]; BOOST_TEST(boost::alignment::is_aligned(p, n)); } if (n > 1) { void* p = &b[1]; BOOST_TEST(!boost::alignment::is_aligned(p, n)); } } int main() { test<1>(); test<2>(); test<4>(); test<8>(); test<16>(); test<32>(); test<64>(); test<128>(); return boost::report_errors(); }