| /* |
| Copyright 2014-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_ALIGNED_DELETE_HPP |
| #define BOOST_ALIGN_ALIGNED_DELETE_HPP |
| |
| #include <boost/align/aligned_alloc.hpp> |
| #include <boost/align/aligned_delete_forward.hpp> |
| |
| namespace boost { |
| namespace alignment { |
| |
| struct aligned_delete { |
| template<class T> |
| void operator()(T* ptr) const |
| BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT_EXPR(ptr->~T())) { |
| if (ptr) { |
| ptr->~T(); |
| boost::alignment::aligned_free(ptr); |
| } |
| } |
| }; |
| |
| } /* alignment */ |
| } /* boost */ |
| |
| #endif |