21#ifndef YASE_CONTAINER_H
22#define YASE_CONTAINER_H
37#include "auto_load.hh"
47 typedef tuple<Module &, int, Module &, int> Wire;
48 typedef tuple<int, Module &, int> Equate;
73 void run(
int num_steps);
106 vector<Module *> modules;
108 vector<Equate> input_equates, output_equates;
111 vector<std::thread> threads;
112 vector<vector<Module *> > groups;
113 vector<bool> working_flags;
A parameter auto-loader that continually reloads a *.json file.
Definition auto_load.hh:36
A module and event manager that can contain other modules.
Definition container.hh:63
Container & propagate_to(EventManager &em)
Definition container.cc:95
Container & equate_input(string input, Module &sub_module, string sub_input)
Definition container.cc:236
Container & path(Module &a, Module &b, Module &c)
Definition container.cc:195
Container & connect(Module &source, string output, Module &dest, string input)
Definition container.cc:111
bool connected(Module *module, string input_name)
Definition container.cc:335
void thread_loop(int i)
EXPERIMENTAL.
Definition container.cc:432
void init()
Definition container.cc:323
void run_again(int num_steps)
Definition container.cc:391
Container & add_if_new(Module &module)
Definition container.cc:70
void run_threaded(int num_steps)
EXPERIMENTAL.
Definition container.cc:454
void run(int num_steps)
Definition container.cc:374
void update_threaded()
EXPERIMENTAL.
Definition container.cc:481
Container & equate_output(string output, Module &sub_module, string sub_output)
Definition container.cc:284
Container & attach_inputs(std::vector< std::tuple< string, Module &, string > > attachments)
Definition container.cc:254
Container & set_thread_number(int n)
EXPERIMENTAL.
Definition container.cc:406
Container & add(Module &module)
Definition container.cc:62
Container & attach_outputs(std::vector< std::tuple< string, Module &, string > > attachments)
Definition container.cc:268
Container & disconnect(Module &source, string output, Module &dest, string input)
Definition container.cc:303
void update()
Definition container.cc:344
A class that keeps track of event listeners.
Definition event_manager.hh:42
An abstract base class for modules.
Definition module.hh:39
Definition additive_saw.cc:24