21 #ifndef _libint2_src_bin_libint_purgeable_h_ 22 #define _libint2_src_bin_libint_purgeable_h_ 26 #include <boost/type_traits.hpp> 40 if (boost::is_base_of<DGVertex,T>::value ==
true) {
48 static bool purge(
const T* ref) {
53 const DGVertex* dgv_ptr = dynamic_cast<const DGVertex*>(ref);
54 if (dgv_ptr->
dg() == 0)
71 virtual void purge() =0;
78 template <
typename T,
typename Policy = DefaultPurgingPolicy<T> >
82 typedef Policy PurgingPolicy;
101 std::vector<stack_type*> stacks_;
static bool purge(const T *ref)
returns true if obj should be purged
Definition: purgeable.h:48
Defaults definitions for various parameters assumed by Libint.
Definition: algebra.cc:24
PurgeableStack is a container that can be purged by calling purge() method.
Definition: purgeable.h:68
const DirectedGraph * dg() const
Returns pointer to the DirectedGraph to which this DGVertex belongs to.
Definition: dgvertex.h:152
This is a vertex of a Directed Graph (DG)
Definition: dgvertex.h:43
Collection of AbstractPurgeableStack objects.
Definition: purgeable.h:88
Determines whether an object should be purged from a stack.
Definition: purgeable.h:34
PurgeableStack is an AbstractPurgeableStack that contains objects of type T.
Definition: purgeable.h:79
static bool purgeable()
returns true if objects of this type can be purged
Definition: purgeable.h:36