File indexing completed on 2025-12-16 10:08:48
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #ifndef BOOST_SIGNALS2_PREDESTRUCTIBLE_HPP
0016 #define BOOST_SIGNALS2_PREDESTRUCTIBLE_HPP
0017
0018 namespace boost
0019 {
0020 namespace signals2
0021 {
0022 template<typename T> class predestructing_deleter;
0023
0024 namespace predestructible_adl_barrier
0025 {
0026 class predestructible
0027 {
0028 protected:
0029 predestructible() {}
0030 public:
0031 template<typename T>
0032 friend void adl_postconstruct(const shared_ptr<T> &, ...)
0033 {}
0034 friend void adl_predestruct(predestructible *p)
0035 {
0036 p->predestruct();
0037 }
0038 virtual ~predestructible() {}
0039 virtual void predestruct() = 0;
0040 };
0041 }
0042 using predestructible_adl_barrier::predestructible;
0043 }
0044 }
0045
0046 #endif