20 #ifndef _libint2_src_bin_libint_purgeable_h_ 21 #define _libint2_src_bin_libint_purgeable_h_ 25 #include <boost/type_traits.hpp> 39 if (boost::is_base_of<DGVertex,T>::value ==
true) {
47 static bool purge(
const T* ref) {
53 if (dgv_ptr->
dg() == 0)
70 virtual void purge() =0;
77 template <
typename T,
typename Policy = DefaultPurgingPolicy<T> >
81 typedef Policy PurgingPolicy;
92 static this_type* Instance();
95 void register_stack(stack_type* stack);
99 static this_type* instance_;
100 std::vector<stack_type*> stacks_;
static bool purge(const T *ref)
returns true if obj should be purged
Definition: purgeable.h:47
Defaults definitions for various parameters assumed by Libint.
Definition: algebra.cc:23
PurgeableStack is a container that can be purged by calling purge() method.
Definition: purgeable.h:67
This is a vertex of a Directed Graph (DG)
Definition: dgvertex.h:42
Collection of AbstractPurgeableStack objects.
Definition: purgeable.h:87
Determines whether an object should be purged from a stack.
Definition: purgeable.h:33
const DirectedGraph * dg() const
Returns pointer to the DirectedGraph to which this DGVertex belongs to.
Definition: dgvertex.h:151
PurgeableStack is an AbstractPurgeableStack that contains objects of type T.
Definition: purgeable.h:78
static bool purgeable()
returns true if objects of this type can be purged
Definition: purgeable.h:35