Blame view

3rdparty/boost_1_81_0/boost/align/aligned_delete.hpp 671 Bytes
63e88f80   Hu Chunming   提交三方库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  /*
  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