#ifndef INCLUDE_LEARN_PV____LEARN____INTPORT_HPP_
#define INCLUDE_LEARN_PV____LEARN____INTPORT_HPP_

#include <PortValue.hpp>
#include <Variables.hpp>
#include <learn/PT__learn__intPort.hpp>

class PV__learn__intPort : public PortValue {
public:
    PV__learn__intPort(int &_m_d);
    virtual ~PV__learn__intPort();


    // get/set for data.
    PV__learn__intPort(int &_m_d , string name) : PortValue(), m_d(_m_d),name("ROOT." + name)  {
      
    }

    virtual string toString() const;


    // get/set for data.
    const int& get_d() const;
    int& get_d();
    void set_d(const int &_m_d);
    
private:
    string name;
    // data fields from Port type.
    int &m_d;
}; 



    // get/set for data.
inline
const int& PV__learn__intPort::get_d() const {
    return int_variables[name];
}
inline
int& PV__learn__intPort::get_d() {
    return int_variables[name];
}
inline
void PV__learn__intPort::set_d(const int &_m_d) {
    m_d = _m_d;
    int_variables[name] = _m_d;

}


#endif // INCLUDE_LEARN_PV____LEARN____INTPORT_HPP_
