30 #ifndef _libint2_src_bin_libint_intsettoints_h_ 31 #define _libint2_src_bin_libint_intsettoints_h_ 53 typedef typename I::iter_type ChildType;
61 static SafePtr<IntegralSet_to_Integrals<I>>
Instance(
const SafePtr<TargetType>& Tint,
unsigned int dir) {
66 assert(this_ptr->num_children() != 0);
69 static bool directional() {
return false; }
75 SafePtr<TargetType>
target()
const {
return target_; };
77 SafePtr<ChildType> child(
unsigned int i)
const;
79 SafePtr<DGVertex>
rr_target()
const {
return static_pointer_cast<
DGVertex,TargetType>(target()); }
81 SafePtr<DGVertex>
rr_child(
unsigned int i)
const {
return static_pointer_cast<
DGVertex,ChildType>(child(i)); }
93 SafePtr<TargetType> target_;
94 vector< SafePtr<ChildType> > children_;
97 std::string generate_label()
const {
98 return "IntegralSet_to_Integrals";
102 std::string spfunction_call(
const SafePtr<CodeContext>& context,
103 const SafePtr<ImplicitDimensions>& dims)
const 105 throw logic_error(
"IntegralSet_to_Integrals::spfunction_call -- should not call this function");
121 for(siter.
init(); siter; ++siter)
122 children_.push_back(siter.
elem());
126 SafePtr<typename I::iter_type>
129 return children_.at(i);
SafePtr< DGVertex > rr_child(unsigned int i) const
Implementation of RecurrenceRelation's child()
Definition: intset_to_ints.h:81
const iref & elem() const
Returns current element.
Definition: iter.h:164
Defaults definitions for various parameters assumed by Libint.
Definition: algebra.cc:23
Definition: stdarray.h:18
This is a vertex of a Directed Graph (DG)
Definition: dgvertex.h:42
SafePtr< DGVertex > rr_target() const
Implementation of RecurrenceRelation's target()
Definition: intset_to_ints.h:79
static SafePtr< IntegralSet_to_Integrals< I > > Instance(const SafePtr< TargetType > &Tint, unsigned int dir)
Return an instance if applicable, or a null pointer otherwise.
Definition: intset_to_ints.h:61
void init()
Initializes the iterator.
Definition: iter.h:187
SubIteratorBase<T> provides a base class for a sub-iterator class for T.
Definition: iter.h:72
AlgebraicOperator is an algebraic operator that acts on objects of type T.
Definition: algebra.h:47
SafePtr< TargetType > target() const
target() returns pointer to target
Definition: intset_to_ints.h:75
IntegralSet_to_Integrals_base is dummy class used for dynamic casts only.
Definition: intset_to_ints.h:40
unsigned int num_children() const
Implementation of RecurrenceRelation::num_children()
Definition: intset_to_ints.h:73
RecurrenceRelation describes all recurrence relations.
Definition: rr.h:100
bool is_simple() const
Implementation of RecurrenceRelation::is_simple()
Definition: intset_to_ints.h:83
RecurrenceRelation::ExprType ExprType
The type of expressions in which RecurrenceRelations result.
Definition: intset_to_ints.h:55
bool invariant_type() const
Reimplementation of RecurrenceRelation::invariant_type()
Definition: intset_to_ints.h:87
IntegralSet_to_Integrals converts I, a set of integrals, to individual integrals. ...
Definition: intset_to_ints.h:49