// Generated by gencpp from file robot_move_base_msgs/MoveBaseGoal.msg
// DO NOT EDIT!

#ifndef ROBOT_MOVE_BASE_MSGS_MESSAGE_MOVEBASEGOAL_H
#define ROBOT_MOVE_BASE_MSGS_MESSAGE_MOVEBASEGOAL_H

#include <string>
#include <vector>
#include <memory>
#include <robot_geometry_msgs/PoseStamped.h>

namespace robot_move_base_msgs
{
  template <class ContainerAllocator>
  struct MoveBaseGoal_
  {
    typedef MoveBaseGoal_<ContainerAllocator> Type;

    MoveBaseGoal_()
        : target_pose()
    {
    }
    MoveBaseGoal_(const ContainerAllocator &_alloc)
        : target_pose(_alloc)
    {
      (void)_alloc;
    }

    typedef ::robot_geometry_msgs::PoseStamped_<ContainerAllocator> _target_pose_type;
    _target_pose_type target_pose;

    typedef boost::shared_ptr<::robot_move_base_msgs::MoveBaseGoal_<ContainerAllocator>> Ptr;
    typedef boost::shared_ptr<::robot_move_base_msgs::MoveBaseGoal_<ContainerAllocator> const> ConstPtr;

  }; // struct MoveBaseGoal_

  typedef ::robot_move_base_msgs::MoveBaseGoal_<std::allocator<void>> MoveBaseGoal;

  typedef boost::shared_ptr<::robot_move_base_msgs::MoveBaseGoal> MoveBaseGoalPtr;
  typedef boost::shared_ptr<::robot_move_base_msgs::MoveBaseGoal const> MoveBaseGoalConstPtr;

  // constants requiring out of line definition
  template <typename ContainerAllocator1, typename ContainerAllocator2>
  bool operator==(const ::robot_move_base_msgs::MoveBaseGoal_<ContainerAllocator1> &lhs, const ::robot_move_base_msgs::MoveBaseGoal_<ContainerAllocator2> &rhs)
  {
    return lhs.target_pose == rhs.target_pose;
  }

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

} // namespace robot_move_base_msgs

#endif // ROBOT_MOVE_BASE_MSGS_MESSAGE_MOVEBASEGOAL_H
