| 812 | */ |
| 813 | template<class OptTask, class PL> |
| 814 | class OptProp : public TaskProp<OptTask,PL> { |
| 815 | protected: |
| 816 | using TaskProp<OptTask,PL>::t; |
| 817 | /// Constructor for creation |
| 818 | OptProp(Home home, TaskArray<OptTask>& t); |
| 819 | /// Constructor for cloning \a p |
| 820 | OptProp(Space& home, OptProp& p); |
| 821 | public: |
| 822 | /// Perform copying during cloning |
| 823 | virtual Actor* copy(Space& home); |
| 824 | /// Perform propagation |
| 825 | virtual ExecStatus propagate(Space& home, const ModEventDelta& med); |
| 826 | /// Post propagator that schedules tasks on unary resource |
| 827 | static ExecStatus post(Home home, TaskArray<OptTask>& t); |
| 828 | }; |
| 829 | |
| 830 | /// Post mandatory task propagator according to propagation level |
| 831 | template<class ManTask> |