summaryrefslogtreecommitdiff
path: root/boost/align/align_down.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/align/align_down.hpp')
-rw-r--r--boost/align/align_down.hpp8
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 */