// Distributed under the Boost Software License, Version 1.0. (See // accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) #include #include #include #include #include #include using namespace boost::python; struct BOOST_ALIGNMENT(32) X { int x; BOOST_ALIGNMENT(32) float f; X(int n, float _f) : x(n), f(_f) { BOOST_ASSERT((reinterpret_cast(&f) % 32) == 0); } }; int x_function(X& x) { return x.x;} float f_function(X& x) { return x.f;} BOOST_PYTHON_MODULE(aligned_class_ext) { class_("X", init()); def("x_function", x_function); def("f_function", f_function); } #include "module_tail.cpp"