| 12345678910111213141516171819202122232425262728 | /*Copyright 2015 Glen Joseph Fernandes(glenjofe@gmail.com)Distributed under the Boost Software License, Version 1.0.(http://www.boost.org/LICENSE_1_0.txt)*/#ifndef BOOST_ALIGN_DETAIL_ALIGN_DOWN_HPP#define BOOST_ALIGN_DETAIL_ALIGN_DOWN_HPP#include <boost/align/detail/is_alignment.hpp>#include <boost/assert.hpp>namespace boost {namespace alignment {inline void*align_down(void* ptr, std::size_t alignment) BOOST_NOEXCEPT{    BOOST_ASSERT(detail::is_alignment(alignment));    return reinterpret_cast<void*>(~(alignment - 1) &        reinterpret_cast<std::size_t>(ptr));}} /* alignment */} /* boost */#endif
 |