// Generated by gencpp from file robot_nav_2d_msgs/Twist2D32.msg
// DO NOT EDIT!


#ifndef ROBOT_NAV_2D_MSGS_MESSAGE_TWIST2D32_H
#define ROBOT_NAV_2D_MSGS_MESSAGE_TWIST2D32_H


#include <string>
#include <vector>
#include <memory>


namespace robot_nav_2d_msgs
{
template <class ContainerAllocator>
struct Twist2D32_
{
  typedef Twist2D32_<ContainerAllocator> Type;

  Twist2D32_()
    : x(0.0)
    , y(0.0)
    , theta(0.0)  {
    }
  Twist2D32_(const ContainerAllocator& _alloc)
    : x(0.0)
    , y(0.0)
    , theta(0.0)  {
  (void)_alloc;
    }



   typedef float _x_type;
  _x_type x;

   typedef float _y_type;
  _y_type y;

   typedef float _theta_type;
  _theta_type theta;




  typedef std::shared_ptr< ::robot_nav_2d_msgs::Twist2D32_<ContainerAllocator> > Ptr;
  typedef std::shared_ptr< ::robot_nav_2d_msgs::Twist2D32_<ContainerAllocator> const> ConstPtr;

}; // struct Twist2D32_

typedef ::robot_nav_2d_msgs::Twist2D32_<std::allocator<void> > Twist2D32;

typedef std::shared_ptr< ::robot_nav_2d_msgs::Twist2D32 > Twist2D32Ptr;
typedef std::shared_ptr< ::robot_nav_2d_msgs::Twist2D32 const> Twist2D32ConstPtr;

// constants requiring out of line definition



template<typename ContainerAllocator1, typename ContainerAllocator2>
bool operator==(const ::robot_nav_2d_msgs::Twist2D32_<ContainerAllocator1> & lhs, const ::robot_nav_2d_msgs::Twist2D32_<ContainerAllocator2> & rhs)
{
  return lhs.x == rhs.x &&
    lhs.y == rhs.y &&
    lhs.theta == rhs.theta;
}

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


} // namespace robot_nav_2d_msgs

#endif // ROBOT_NAV_2D_MSGS_MESSAGE_TWIST2D32_H
