20 #ifndef _libint2_src_bin_libint_task_h_ 21 #define _libint2_src_bin_libint_task_h_ 28 #include <default_params.h> 32 class TaskExternSymbols;
46 LibraryTask(
const std::string& l,
const SafePtr<TaskParameters>& p,
const SafePtr<TaskExternSymbols>& s) :
47 label_(l), params_(p), symbols_(s) {
51 const std::string& label()
const {
return label_; }
52 const SafePtr<TaskParameters>& params()
const {
return params_; }
53 const SafePtr<TaskExternSymbols>& symbols()
const {
return symbols_; }
57 SafePtr<TaskParameters> params_;
58 SafePtr<TaskExternSymbols> symbols_;
63 typedef std::vector<LibraryTask> Tasks;
64 typedef Tasks::const_iterator tasks_citer;
67 typedef Tasks::const_iterator TasksCIter;
68 typedef Tasks::iterator TasksIter;
75 unsigned int ntask()
const {
return tasks_.size(); }
77 TasksCIter
first()
const {
return tasks_.begin(); }
79 TasksCIter
plast()
const {
return tasks_.end(); }
83 void add(
const std::string& task_label);
85 TasksCIter find(
const std::string& task_label)
const;
87 void current(
const std::string& task_label);
106 typedef std::list<std::string> SymbolList;
108 typedef RRStack::InstanceID
RRid;
109 typedef std::list<RRid> RRList;
115 void add(
const SymbolList& symbols);
118 const SymbolList& symbols()
const;
120 void add(
const RRList& rrlist);
122 bool find(
const RRid& rrid)
const;
124 RRList rrlist()
const;
128 typedef std::map<std::string,bool> Symbols;
130 mutable SymbolList symbollist_;
133 typedef std::map<RRid,bool> RRmap;
140 #endif // header guard TasksCIter first() const
returns iterator to the first task
Definition: task.h:77
RRStack::InstanceID RRid
Recurrence relations are maintained by RRStack and characterized by their unique numeric ID...
Definition: task.h:108
LibraryTask & task(unsigned int i)
i-th tasks
Definition: task.h:81
Manages tasks. This is a Singleton.
Definition: task.h:62
TasksCIter plast() const
returns iterator to past the last task
Definition: task.h:79
Defaults definitions for various parameters assumed by Libint.
Definition: algebra.cc:23
A key idea introduced here is that of "task".
Definition: task.h:44
unsigned int ntask() const
Number of tasks.
Definition: task.h:75
This class maintains code symbols provided by the user, e.g.
Definition: task.h:104