35 #ifndef MADNESS_WORLD_DEFERRED_CLEANUP_H__INCLUDED
36 #define MADNESS_WORLD_DEFERRED_CLEANUP_H__INCLUDED
45 template <
typename,
typename>
62 typedef std::list<void_ptr> void_ptr_list;
65 void_ptr_list deferred_;
74 template <
typename,
typename>
75 friend class ::madness::DeferredDeleter;
104 void add(
const void_ptr& obj);
113 #endif // MADNESS_WORLD_DEFERRED_CLEANUP_H__INCLUDED
Deferred deleter for smart pointers.
Definition: deferred_cleanup.h:46
std::shared_ptr< void > void_ptr
input pointer type
Definition: deferred_cleanup.h:59
Recursive mutex using pthread mutex operations.
Definition: worldmutex.h:140
Deferred cleanup of shared_ptr's.
Definition: deferred_cleanup.h:57
DeferredCleanup()
Construct a deferred deleter object.
Definition: deferred_cleanup.h:85
Implements Mutex, MutexFair, Spinlock, ConditionVariable.
A parallel world with full functionality wrapping an MPI communicator.
Definition: worldfwd.h:416
void add(const void_ptr &obj)
Adds item to cleanup list.
Definition: deferred_cleanup.cc:54
bool destroy() const
Get the current destruction mode mode.
Definition: deferred_cleanup.cc:47
void do_cleanup()
Deletes/frees any pointers that are in the list.
Definition: deferred_cleanup.cc:62
Holds machinery to set up Functions/FuncImpls using various Factories and Interfaces.
Definition: chem/atomutil.cc:45