#ifndef morpheo_behavioural_Direction_h
#define morpheo_behavioural_Direction_h

#include "Common/include/ToString.h"

namespace morpheo              {
namespace behavioural          {

typedef enum {INTERNAL, IN, OUT } direction_t;
//typedef enum { IN, OUT, INOUT } direction_t;

}; // end namespace behavioural          
  
  template<> inline std::string toString<morpheo::behavioural::direction_t>(const morpheo::behavioural::direction_t& x)
  {
    switch (x)
      {
      case morpheo::behavioural::INTERNAL : return "internal" ; break;
      case morpheo::behavioural::IN       : return "in"       ; break;
      case morpheo::behavioural::OUT      : return "out"      ; break;
//    case morpheo::behavioural::INOUT    : return "inout"    ; break;
      default    : return ""      ; break;
      }
  }
  
}; // end namespace morpheo              

#endif
