33 lines
698 B
C++
33 lines
698 B
C++
/*
|
|
(c) 2014-2015 Glen Joseph Fernandes
|
|
<glenjofe -at- gmail.com>
|
|
|
|
Distributed under the Boost Software
|
|
License, Version 1.0.
|
|
http://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
|