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

#ifndef ROBOT_MOVE_BASE_MSGS_MESSAGE_MOVEBASEACTIONGOAL_H
#define ROBOT_MOVE_BASE_MSGS_MESSAGE_MOVEBASEACTIONGOAL_H

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

#include <robot_std_msgs/Header.h>
#include <robot_actionlib_msgs/GoalID.h>
#include <robot_move_base_msgs/MoveBaseGoal.h>

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

    MoveBaseActionGoal_()
        : header(), goal_id(), goal()
    {
    }
    MoveBaseActionGoal_(const ContainerAllocator &_alloc)
        : header(_alloc), goal_id(_alloc), goal(_alloc)
    {
      (void)_alloc;
    }

    typedef ::robot_std_msgs::Header_<ContainerAllocator> _header_type;
    _header_type header;

    typedef ::robot_actionlib_msgs::GoalID_<ContainerAllocator> _goal_id_type;
    _goal_id_type goal_id;

    typedef ::robot_move_base_msgs::MoveBaseGoal_<ContainerAllocator> _goal_type;
    _goal_type goal;

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

  }; // struct MoveBaseActionGoal_

  typedef ::robot_move_base_msgs::MoveBaseActionGoal_<std::allocator<void>> MoveBaseActionGoal;

  typedef boost::shared_ptr<::robot_move_base_msgs::MoveBaseActionGoal> MoveBaseActionGoalPtr;
  typedef boost::shared_ptr<::robot_move_base_msgs::MoveBaseActionGoal const> MoveBaseActionGoalConstPtr;

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

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

} // namespace robot_move_base_msgs

#endif // ROBOT_MOVE_BASE_MSGS_MESSAGE_MOVEBASEACTIONGOAL_H
