diff options
Diffstat (limited to 'boost/align/align_down.hpp')
-rw-r--r-- | boost/align/align_down.hpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/boost/align/align_down.hpp b/boost/align/align_down.hpp index 355844f8aa..932598c0fa 100644 --- a/boost/align/align_down.hpp +++ b/boost/align/align_down.hpp @@ -9,14 +9,16 @@ Distributed under the Boost Software License, Version 1.0. #define BOOST_ALIGN_ALIGN_DOWN_HPP #include <boost/align/detail/align_down.hpp> +#include <boost/align/detail/not_pointer.hpp> namespace boost { namespace alignment { -BOOST_CONSTEXPR inline std::size_t -align_down(std::size_t value, std::size_t alignment) BOOST_NOEXCEPT +template<class T> +BOOST_CONSTEXPR inline typename detail::not_pointer<T, T>::type +align_down(T value, std::size_t alignment) BOOST_NOEXCEPT { - return value & ~(alignment - 1); + return T(value & ~T(alignment - 1)); } } /* alignment */ |