// Generated by gencpp from file kmriiwa_chemist_msgs/NavCommand.msg
// DO NOT EDIT!


#ifndef KMRIIWA_CHEMIST_MSGS_MESSAGE_NAVCOMMAND_H
#define KMRIIWA_CHEMIST_MSGS_MESSAGE_NAVCOMMAND_H


#include <string>
#include <vector>
#include <map>

#include <ros/types.h>
#include <ros/serialization.h>
#include <ros/builtin_message_traits.h>
#include <ros/message_operations.h>


namespace kmriiwa_chemist_msgs
{
template <class ContainerAllocator>
struct NavCommand_
{
  typedef NavCommand_<ContainerAllocator> Type;

  NavCommand_()
    : cmd_seq(0)
    , priority_task(false)
    , robot_id(0)
    , graph_id(0)
    , node_id(0)
    , fine_localization(false)  {
    }
  NavCommand_(const ContainerAllocator& _alloc)
    : cmd_seq(0)
    , priority_task(false)
    , robot_id(0)
    , graph_id(0)
    , node_id(0)
    , fine_localization(false)  {
  (void)_alloc;
    }



   typedef int32_t _cmd_seq_type;
  _cmd_seq_type cmd_seq;

   typedef uint8_t _priority_task_type;
  _priority_task_type priority_task;

   typedef int32_t _robot_id_type;
  _robot_id_type robot_id;

   typedef int32_t _graph_id_type;
  _graph_id_type graph_id;

   typedef int32_t _node_id_type;
  _node_id_type node_id;

   typedef uint8_t _fine_localization_type;
  _fine_localization_type fine_localization;





  typedef boost::shared_ptr< ::kmriiwa_chemist_msgs::NavCommand_<ContainerAllocator> > Ptr;
  typedef boost::shared_ptr< ::kmriiwa_chemist_msgs::NavCommand_<ContainerAllocator> const> ConstPtr;

}; // struct NavCommand_

typedef ::kmriiwa_chemist_msgs::NavCommand_<std::allocator<void> > NavCommand;

typedef boost::shared_ptr< ::kmriiwa_chemist_msgs::NavCommand > NavCommandPtr;
typedef boost::shared_ptr< ::kmriiwa_chemist_msgs::NavCommand const> NavCommandConstPtr;

// constants requiring out of line definition



template<typename ContainerAllocator>
std::ostream& operator<<(std::ostream& s, const ::kmriiwa_chemist_msgs::NavCommand_<ContainerAllocator> & v)
{
ros::message_operations::Printer< ::kmriiwa_chemist_msgs::NavCommand_<ContainerAllocator> >::stream(s, "", v);
return s;
}


template<typename ContainerAllocator1, typename ContainerAllocator2>
bool operator==(const ::kmriiwa_chemist_msgs::NavCommand_<ContainerAllocator1> & lhs, const ::kmriiwa_chemist_msgs::NavCommand_<ContainerAllocator2> & rhs)
{
  return lhs.cmd_seq == rhs.cmd_seq &&
    lhs.priority_task == rhs.priority_task &&
    lhs.robot_id == rhs.robot_id &&
    lhs.graph_id == rhs.graph_id &&
    lhs.node_id == rhs.node_id &&
    lhs.fine_localization == rhs.fine_localization;
}

template<typename ContainerAllocator1, typename ContainerAllocator2>
bool operator!=(const ::kmriiwa_chemist_msgs::NavCommand_<ContainerAllocator1> & lhs, const ::kmriiwa_chemist_msgs::NavCommand_<ContainerAllocator2> & rhs)
{
  return !(lhs == rhs);
}


} // namespace kmriiwa_chemist_msgs

namespace ros
{
namespace message_traits
{





template <class ContainerAllocator>
struct IsMessage< ::kmriiwa_chemist_msgs::NavCommand_<ContainerAllocator> >
  : TrueType
  { };

template <class ContainerAllocator>
struct IsMessage< ::kmriiwa_chemist_msgs::NavCommand_<ContainerAllocator> const>
  : TrueType
  { };

template <class ContainerAllocator>
struct IsFixedSize< ::kmriiwa_chemist_msgs::NavCommand_<ContainerAllocator> >
  : TrueType
  { };

template <class ContainerAllocator>
struct IsFixedSize< ::kmriiwa_chemist_msgs::NavCommand_<ContainerAllocator> const>
  : TrueType
  { };

template <class ContainerAllocator>
struct HasHeader< ::kmriiwa_chemist_msgs::NavCommand_<ContainerAllocator> >
  : FalseType
  { };

template <class ContainerAllocator>
struct HasHeader< ::kmriiwa_chemist_msgs::NavCommand_<ContainerAllocator> const>
  : FalseType
  { };


template<class ContainerAllocator>
struct MD5Sum< ::kmriiwa_chemist_msgs::NavCommand_<ContainerAllocator> >
{
  static const char* value()
  {
    return "c83d4a6fe2238d17c0573f9bd0668daf";
  }

  static const char* value(const ::kmriiwa_chemist_msgs::NavCommand_<ContainerAllocator>&) { return value(); }
  static const uint64_t static_value1 = 0xc83d4a6fe2238d17ULL;
  static const uint64_t static_value2 = 0xc0573f9bd0668dafULL;
};

template<class ContainerAllocator>
struct DataType< ::kmriiwa_chemist_msgs::NavCommand_<ContainerAllocator> >
{
  static const char* value()
  {
    return "kmriiwa_chemist_msgs/NavCommand";
  }

  static const char* value(const ::kmriiwa_chemist_msgs::NavCommand_<ContainerAllocator>&) { return value(); }
};

template<class ContainerAllocator>
struct Definition< ::kmriiwa_chemist_msgs::NavCommand_<ContainerAllocator> >
{
  static const char* value()
  {
    return "int32 cmd_seq\n"
"bool priority_task\n"
"int32 robot_id\n"
"int32 graph_id\n"
"int32 node_id\n"
"bool fine_localization\n"
;
  }

  static const char* value(const ::kmriiwa_chemist_msgs::NavCommand_<ContainerAllocator>&) { return value(); }
};

} // namespace message_traits
} // namespace ros

namespace ros
{
namespace serialization
{

  template<class ContainerAllocator> struct Serializer< ::kmriiwa_chemist_msgs::NavCommand_<ContainerAllocator> >
  {
    template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
    {
      stream.next(m.cmd_seq);
      stream.next(m.priority_task);
      stream.next(m.robot_id);
      stream.next(m.graph_id);
      stream.next(m.node_id);
      stream.next(m.fine_localization);
    }

    ROS_DECLARE_ALLINONE_SERIALIZER
  }; // struct NavCommand_

} // namespace serialization
} // namespace ros

namespace ros
{
namespace message_operations
{

template<class ContainerAllocator>
struct Printer< ::kmriiwa_chemist_msgs::NavCommand_<ContainerAllocator> >
{
  template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::kmriiwa_chemist_msgs::NavCommand_<ContainerAllocator>& v)
  {
    s << indent << "cmd_seq: ";
    Printer<int32_t>::stream(s, indent + "  ", v.cmd_seq);
    s << indent << "priority_task: ";
    Printer<uint8_t>::stream(s, indent + "  ", v.priority_task);
    s << indent << "robot_id: ";
    Printer<int32_t>::stream(s, indent + "  ", v.robot_id);
    s << indent << "graph_id: ";
    Printer<int32_t>::stream(s, indent + "  ", v.graph_id);
    s << indent << "node_id: ";
    Printer<int32_t>::stream(s, indent + "  ", v.node_id);
    s << indent << "fine_localization: ";
    Printer<uint8_t>::stream(s, indent + "  ", v.fine_localization);
  }
};

} // namespace message_operations
} // namespace ros

#endif // KMRIIWA_CHEMIST_MSGS_MESSAGE_NAVCOMMAND_H
