Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class OnlyOneLinkGraphManager :
- public artis::pdevs::GraphManager<artis::common::DoubleTime> {
- public:
- enum submodels {
- GENERATOR, LINK, COUNTER
- };
- OnlyOneLinkGraphManager(artis::common::Coordinator<artis::common::DoubleTime>* coordinator,
- const artis::common::NoParameters& parameters,
- const artis::common::NoParameters& graph_parameters)
- :
- artis::pdevs::GraphManager<artis::common::DoubleTime>(
- coordinator, parameters, graph_parameters),
- _generator("generator", artis::common::NoParameters()),
- _link("link", artis::common::NoParameters()),
- _counter("counter", artis::common::NoParameters())
- {
- add_child(GENERATOR, &_generator);
- add_child(LINK, &_link);
- add_child(COUNTER, &_counter);
- out({&_generator, Generator::outputs::OUT})
- >> in({&_link, Link::inputs::IN});
- out({&_link, Link::outputs::OUT})
- >> in({&_counter, Counter::inputs::IN});
- }
- ~OnlyOneLinkGraphManager() override = default;
- private:
- artis::pdevs::Simulator<artis::common::DoubleTime, Generator> _generator;
- artis::pdevs::Simulator<artis::common::DoubleTime, Link> _link;
- artis::pdevs::Simulator<artis::common::DoubleTime, Counter> _counter;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement