#ifndef _MODULES_HPP_
#define _MODULES_HPP_

#include "syselmts.hpp"
#include "parts.hpp"

#pragma once
class Modules; ///< Forward declaration of the Modules class.
class Signals; ///< Forward declaration of the Signals class.


class Module : public SystemElementContainer<Part>
{
public:
    Signals *signals;
    Modules *prnt;
    Module(std::string name);
    ~Module();
};

class Modules : public SystemElementContainer<Module>
{
public:
    Modules(void);
    Modules(std::vector<Module *> parts);
    void add(Module *module);
    ~Modules();
};

#endif // _MODULES_HPP_