namespace R2C2 {
class ArticleNumber;
+class BeamGate;
class Block;
class Catalogue;
class Driver;
public:
Loader(Layout &);
private:
+ void beamgate();
void route();
- void route(const std::string &);
void signal(ArticleNumber);
- void track(unsigned);
void track(ArticleNumber);
- void train(unsigned, unsigned, const std::string &);
void train(ArticleNumber, unsigned, const std::string &);
void turnout(unsigned, unsigned);
void zone();
void add(TrackChain &);
void add(Block &);
void add(Sensor &);
+ void add(BeamGate &);
template<typename T>
const std::set<T *> &get_all() const;
void remove(Track &);
void remove(TrackChain &);
void remove(Sensor &);
+ void remove(BeamGate &);
unsigned allocate_turnout_id();