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) {
48 static bool purge(
const T* 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_;
PurgeableStack is a container that can be purged by calling purge() method.
Definition: purgeable.h:68
This is a vertex of a Directed Graph (DG)
Definition: dgvertex.h:43
const DirectedGraph * dg() const
Returns pointer to the DirectedGraph to which this DGVertex belongs to.
Definition: dgvertex.h:152
PurgeableStack is an AbstractPurgeableStack that contains objects of type T.
Definition: purgeable.h:80
Collection of AbstractPurgeableStack objects.
Definition: purgeable.h:88
Defaults definitions for various parameters assumed by Libint.
Definition: algebra.cc:24
Determines whether an object should be purged from a stack.
Definition: purgeable.h:34
static bool purge(const T *ref)
returns true if obj should be purged
Definition: purgeable.h:48
static bool purgeable()
returns true if objects of this type can be purged
Definition: purgeable.h:36