31 #ifndef _libint2_src_bin_libint_intsettoints_h_ 32 #define _libint2_src_bin_libint_intsettoints_h_ 54 typedef typename I::iter_type ChildType;
62 static SafePtr<IntegralSet_to_Integrals<I>>
Instance(
const SafePtr<TargetType>& Tint,
unsigned int dir) {
67 assert(this_ptr->num_children() != 0);
70 static bool directional() {
return false; }
76 SafePtr<TargetType>
target()
const {
return target_; };
78 SafePtr<ChildType> child(
unsigned int i)
const;
80 SafePtr<DGVertex>
rr_target()
const {
return static_pointer_cast<DGVertex,TargetType>(target()); }
82 SafePtr<DGVertex>
rr_child(
unsigned int i)
const {
return static_pointer_cast<DGVertex,ChildType>(child(i)); }
94 SafePtr<TargetType> target_;
95 vector< SafePtr<ChildType> > children_;
98 std::string generate_label()
const {
99 return "IntegralSet_to_Integrals";
103 std::string spfunction_call(
const SafePtr<CodeContext>& context,
104 const SafePtr<ImplicitDimensions>& dims)
const 106 throw logic_error(
"IntegralSet_to_Integrals::spfunction_call -- should not call this function");
113 IntegralSet_to_Integrals<I>::IntegralSet_to_Integrals(
const SafePtr<I>& Tint) :
119 SubIteratorBase<I> siter(Tint);
122 for(siter.init(); siter; ++siter)
123 children_.push_back(siter.elem());
127 SafePtr<typename I::iter_type>
130 return children_.at(i);
SafePtr< ChildType > child(unsigned int i) const
child(i) returns pointer i-th child
Definition: intset_to_ints.h:128
Defaults definitions for various parameters assumed by Libint.
Definition: algebra.cc:24
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:62
AlgebraicOperator is an algebraic operator that acts on objects of type T.
Definition: algebra.h:48
IntegralSet_to_Integrals_base is dummy class used for dynamic casts only.
Definition: intset_to_ints.h:41
SafePtr< DGVertex > rr_child(unsigned int i) const
Implementation of RecurrenceRelation's child()
Definition: intset_to_ints.h:82
unsigned int num_children() const
Implementation of RecurrenceRelation::num_children()
Definition: intset_to_ints.h:74
RecurrenceRelation describes all recurrence relations.
Definition: rr.h:101
RecurrenceRelation::ExprType ExprType
The type of expressions in which RecurrenceRelations result.
Definition: intset_to_ints.h:56
SafePtr< TargetType > target() const
target() returns pointer to target
Definition: intset_to_ints.h:76
bool invariant_type() const
Reimplementation of RecurrenceRelation::invariant_type()
Definition: intset_to_ints.h:88
SafePtr< DGVertex > rr_target() const
Implementation of RecurrenceRelation's target()
Definition: intset_to_ints.h:80
bool is_simple() const
Implementation of RecurrenceRelation::is_simple()
Definition: intset_to_ints.h:84
IntegralSet_to_Integrals converts I, a set of integrals, to individual integrals.
Definition: intset_to_ints.h:50