1 #ifndef __FILTERING_H__ 
    2 #define __FILTERING_H__ 
    4 #include "../../data_structures/bm/blockmodel.h" 
    5 #include "constraint.h" 
    6 #include "../../data_structures/bm/blocksel.h" 
   54     virtual string XMLHeading(
const unsigned int & identation_level=0) 
const;
 
   55     virtual string XMLBody(
const unsigned int & identation_level=0) 
const;
 
   56     virtual string XMLFooting(
const unsigned int & identation_level=0) 
const;
 
   99     virtual string XMLHeading(
const unsigned int & identation_level=0) 
const;
 
  100     virtual string XMLBody(
const unsigned int & identation_level=0) 
const;
 
  101     virtual string XMLFooting(
const unsigned int & identation_level=0) 
const;
 
  112         vector<unsigned int> _affdest;
 
  170     virtual string XMLHeading(
const unsigned int & identation_level=0) 
const;
 
  171     virtual string XMLBody(
const unsigned int & identation_level=0) 
const;
 
  172     virtual string XMLFooting(
const unsigned int & identation_level=0) 
const;
 
  180     vector<double> _capacities;
 
  181     map<BlockIndexType,unsigned int> _min_extract_period;
 
  182     map<BlockIndexType,float> _cone_val;
 
  183     map<BlockIndexType,float> _cone_weight;
 
  186     BlockIndexType _attr_pos;
 
  189     vector<string> _dest;
 
  190     vector<string> _val_attr;
 
  192     typedef struct node2 {
 
  193         set<BlockIndexType> precedenceSet;
 
  194         set<BlockIndexType> succSet;
 
  195         vector<bool> fullprecedenceSet;
 
  196         BlockIndexType number;
 
  200     typedef struct node1 {
 
  201         set<BlockIndexType> precedenceSet;
 
  202         set<BlockIndexType> succSet;
 
  203         set<BlockIndexType> fullprecedenceSet;
 
  204         BlockIndexType number;
 
  208     typedef struct node3 {
 
  209         set<BlockIndexType> precedenceSet;
 
  210         set<BlockIndexType> succSet;
 
  211         set<BlockIndexType> fullprecedenceSet;
 
  212         BlockIndexType number;
 
  269     float GetConeVal(
const delphos::BlockIndexType 
id) 
const;
 
  292     const double GetCapacity(
const unsigned int period) 
const;
 
  307     virtual string XMLHeading(
const unsigned int & identation_level=0) 
const;
 
  308     virtual string XMLBody(
const unsigned int & identation_level=0) 
const;
 
  309     virtual string XMLFooting(
const unsigned int & identation_level=0) 
const;
 
Abstracts a set of blocks (subset of a blockmodel). 
Definition: blocksel.h:33
A constraint limiting the period at which a block should be mined. 
Definition: filtering.h:62
A constraint that prevents certain blocks to be sent to given processes. 
Definition: filtering.h:107
A base class for constraints that apply to subsets of blocks. 
Definition: constraint.h:158
virtual bool Check(const delphos::Schedule &sch) const 
checks if the constraint is satisfied by the schedule. 
Definition: filtering.cpp:145
Abstracts a container of blocks as a table with arbitrary number of attributes that can be accessed b...
Definition: blockmodel.h:62
Implements a precedence as an explicit set of arcs between blocks. Provides utility functions...
Definition: precs.h:22
A constraint that forces a block to be mined before or at some period. 
Definition: filtering.h:19
virtual bool Check(const Schedule &sch) const 
checks if the constraint is satisfied by the schedule. 
Definition: filtering.cpp:40
Defines a fractional scheduling of blocks. 
Definition: fractional_schedule.h:22
const unsigned int GetAffectedDestination(const unsigned int i) const 
Return the index of the i-th destinations affected by the constraint. 
Definition: filtering.cpp:265
DoNotSendToConstraint(const string &name, const vector< int > &affdestinations, delphos::BlockSelection *bs)
A constraints that prevents blocks to be sent to given processes. 
Definition: filtering.cpp:251
DoNotMineBeforeConstraint(const string &name, const unsigned int &period, delphos::BlockSelection *bs)
Creates a constraints limiting the period at which a block should be mined. 
Definition: filtering.cpp:126
const unsigned int NumAffectedDestinations() const 
Return the number of destinations affected by the constraint. 
Definition: filtering.cpp:269
Defines a constraint that limits processing periods or destinations for blocks. 
Definition: constraint.h:234
virtual bool Check(const delphos::Schedule &sch) const 
checks if the constraint is satisfied by the schedule. 
Definition: filtering.cpp:297
ForceMiningByConstraint(const string &name, const unsigned int &period, delphos::BlockSelection *bs)
Creates a constraint limiting the period at which a block should be mined. 
Definition: filtering.cpp:21
Defines a scheduling of blocks. 
Definition: schedule.h:23
const unsigned int GetNumAffectedDestinations() const 
Return the number of destinations affected by the constraint. 
Definition: filtering.cpp:273