Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Scheduler::ActionItem Struct Reference

#include <Scheduler.h>

Collaboration diagram for Scheduler::ActionItem:

Public Member Functions

 ActionItem (Action *a)
 
unsigned int n_write ()
 
unsigned int n_read ()
 
char * name ()
 
Actionaction ()
 
int fullfilled ()
 
int hasInput (const char *attr, int idx)
 
int hasOutput (const char *attr, int idx)
 
void print (FILE *f)
 

Public Attributes

Actionmyaction
 
vector< const char * > read_attr
 
vector< int > read_idx
 
vector< const char * > write_attr
 
vector< int > write_idx
 
ActionList input
 
ActionList output
 
int print_flag
 

Detailed Description

Definition at line 57 of file Scheduler.h.

Constructor & Destructor Documentation

ActionItem ( Action a)
inline

Definition at line 67 of file Scheduler.h.

67 : myaction(a) {}

Member Function Documentation

Action* action ( )
inline

Definition at line 71 of file Scheduler.h.

Referenced by __scalegrd.f90__(), Scheduler::finalize_actions(), Scheduler::init_actions(), Scheduler::print_helper(), Scheduler::run_actions(), and Scheduler::topological_sort().

71 { return myaction; }

Here is the caller graph for this function:

int fullfilled ( )

Definition at line 367 of file Scheduler.C.

References i, n_write(), and output.

368 {
369  for (unsigned int i=0; i<n_write(); i++)
370  if (output[i] == NULL) return 0;
371  return 1;
372 }
unsigned int n_write()
Definition: Scheduler.h:68
ActionList output
Definition: Scheduler.h:64
blockLoc i
Definition: read.cpp:79

Here is the call graph for this function:

int hasInput ( const char *  attr,
int  idx 
)

Definition at line 374 of file Scheduler.C.

References i, and cimg_library::cimg::strcasecmp().

375 {
376  for (unsigned int i=0; i<n_read(); i++)
377  if (strcasecmp(attr, read_attr[i]) == 0 && idx == read_idx[i]) return i;
378  return -1;
379 }
vector< int > read_idx
Definition: Scheduler.h:60
int strcasecmp(const char *const s1, const char *const s2)
Compare two C-strings, ignoring the case.
Definition: CImg.h:4928
blockLoc i
Definition: read.cpp:79
vector< const char * > read_attr
Definition: Scheduler.h:59
unsigned int n_read()
Definition: Scheduler.h:69

Here is the call graph for this function:

int hasOutput ( const char *  attr,
int  idx 
)

Definition at line 381 of file Scheduler.C.

References i, cimg_library::cimg::strcasecmp(), and write_attr().

Referenced by Scheduler::buildDDG().

382 {
383  for (unsigned int i=0; i<n_write(); i++)
384  if (strcasecmp(attr, write_attr[i]) == 0 && idx == write_idx[i]) return i;
385  return -1;
386 }
unsigned int n_write()
Definition: Scheduler.h:68
vector< int > write_idx
Definition: Scheduler.h:62
vector< const char * > write_attr
Definition: Scheduler.h:61
int strcasecmp(const char *const s1, const char *const s2)
Compare two C-strings, ignoring the case.
Definition: CImg.h:4928
blockLoc i
Definition: read.cpp:79

Here is the call graph for this function:

Here is the caller graph for this function:

unsigned int n_read ( )
inline

Definition at line 69 of file Scheduler.h.

Referenced by Scheduler::buildDDG(), Scheduler::print_helper(), and Scheduler::sanityCheck().

69 { return read_attr.size(); }
vector< const char * > read_attr
Definition: Scheduler.h:59

Here is the caller graph for this function:

unsigned int n_write ( )
inline

Definition at line 68 of file Scheduler.h.

References write_attr().

Referenced by fullfilled(), Scheduler::print_helper(), and Scheduler::sanityCheck().

68 { return write_attr.size(); }
vector< const char * > write_attr
Definition: Scheduler.h:61

Here is the call graph for this function:

Here is the caller graph for this function:

char* name ( )
inline

Definition at line 70 of file Scheduler.h.

Referenced by Scheduler::print_helper().

70 { return myaction->name(); }
virtual char * name()
Definition: Action.h:53

Here is the caller graph for this function:

void print ( FILE *  f)

Definition at line 389 of file Scheduler.C.

References i, Scheduler::name(), and write_attr().

390 {
391  unsigned int i;
392  fprintf(f, "=========== Action %s =============\n", name());
393  for (i=0; i<n_read(); i++)
394  printf("reads: %s %d \n", read_attr[i], read_idx[i]);
395  for (i=0; i<n_write(); i++)
396  printf("writes: %s %d \n", write_attr[i], write_idx[i]);
397 }
unsigned int n_write()
Definition: Scheduler.h:68
vector< int > write_idx
Definition: Scheduler.h:62
vector< int > read_idx
Definition: Scheduler.h:60
vector< const char * > write_attr
Definition: Scheduler.h:61
blockLoc i
Definition: read.cpp:79
vector< const char * > read_attr
Definition: Scheduler.h:59
unsigned int n_read()
Definition: Scheduler.h:69

Here is the call graph for this function:

Member Data Documentation

Action* myaction

Definition at line 58 of file Scheduler.h.

int print_flag

Definition at line 65 of file Scheduler.h.

Referenced by Scheduler::print_helper().

vector<const char *> read_attr

Definition at line 59 of file Scheduler.h.

Referenced by Scheduler::buildDDG(), and Scheduler::print_helper().

vector<int> read_idx

Definition at line 60 of file Scheduler.h.

Referenced by Scheduler::buildDDG(), and Scheduler::print_helper().

vector<const char *> write_attr

Definition at line 61 of file Scheduler.h.

vector<int> write_idx

Definition at line 62 of file Scheduler.h.


The documentation for this struct was generated from the following files: