Esempio n. 1
0
 inline void destroy_deallocate(const Tx tx, Alloc& alloc, typename AllocTraits::pointer ptr)
 {
     tx.sometime_synchronized_after([ alloc, ptr = std::move(ptr) ]() mutable noexcept {
         AllocTraits::destroy(alloc, detail::to_raw_pointer(ptr));
         AllocTraits::deallocate(alloc, std::move(ptr), 1);
     });
 }
Esempio n. 2
0
 inline void deallocate(const Tx                      tx,
                        Alloc&                        alloc,
                        typename AllocTraits::pointer ptr,
                        const std::size_t             count)
 {
     tx.sometime_synchronized_after([ alloc, ptr = std::move(ptr), count ]() mutable noexcept {
         AllocTraits::deallocate(alloc, std::move(ptr), count);
     });
 }
Esempio n. 3
0
 inline void destroy(const Tx tx, Alloc& alloc, T* t)
 {
     tx.sometime_synchronized_after(
         [ alloc, t ]() mutable noexcept { AllocTraits::destroy(alloc, t); });
 }