Advertisement
Guest User

Untitled

a guest
Nov 14th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. class OnlyOneLinkGraphManager :
  2. public artis::pdevs::GraphManager<artis::common::DoubleTime> {
  3. public:
  4. enum submodels {
  5. GENERATOR, LINK, COUNTER
  6. };
  7.  
  8. OnlyOneLinkGraphManager(artis::common::Coordinator<artis::common::DoubleTime>* coordinator,
  9. const artis::common::NoParameters& parameters,
  10. const artis::common::NoParameters& graph_parameters)
  11. :
  12. artis::pdevs::GraphManager<artis::common::DoubleTime>(
  13. coordinator, parameters, graph_parameters),
  14. _generator("generator", artis::common::NoParameters()),
  15. _link("link", artis::common::NoParameters()),
  16. _counter("counter", artis::common::NoParameters())
  17. {
  18. add_child(GENERATOR, &_generator);
  19. add_child(LINK, &_link);
  20. add_child(COUNTER, &_counter);
  21.  
  22. out({&_generator, Generator::outputs::OUT})
  23. >> in({&_link, Link::inputs::IN});
  24. out({&_link, Link::outputs::OUT})
  25. >> in({&_counter, Counter::inputs::IN});
  26. }
  27.  
  28. ~OnlyOneLinkGraphManager() override = default;
  29.  
  30. private:
  31. artis::pdevs::Simulator<artis::common::DoubleTime, Generator> _generator;
  32. artis::pdevs::Simulator<artis::common::DoubleTime, Link> _link;
  33. artis::pdevs::Simulator<artis::common::DoubleTime, Counter> _counter;
  34. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement