// Generated by gencpp from file actionlib_msgs/GoalStatusArray.msg
// DO NOT EDIT!

#ifndef ROBOT_ACTIONLIB_MSGS_MESSAGE_GOALSTATUSARRAY_H
#define ROBOT_ACTIONLIB_MSGS_MESSAGE_GOALSTATUSARRAY_H

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

#include <robot_std_msgs/Header.h>
#include <robot_actionlib_msgs/GoalStatus.h>

namespace robot_actionlib_msgs
{
  template <class ContainerAllocator>
  struct GoalStatusArray_
  {
    typedef GoalStatusArray_<ContainerAllocator> Type;

    GoalStatusArray_()
        : header(), status_list()
    {
    }
    GoalStatusArray_(const ContainerAllocator &_alloc)
        : header(_alloc), status_list(_alloc)
    {
      (void)_alloc;
    }

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

    typedef std::vector<::robot_actionlib_msgs::GoalStatus_<ContainerAllocator>, typename std::allocator_traits<ContainerAllocator>::template rebind_alloc<::robot_actionlib_msgs::GoalStatus_<ContainerAllocator>>> _status_list_type;
    _status_list_type status_list;

    typedef boost::shared_ptr<::robot_actionlib_msgs::GoalStatusArray_<ContainerAllocator>> Ptr;
    typedef boost::shared_ptr<::robot_actionlib_msgs::GoalStatusArray_<ContainerAllocator> const> ConstPtr;

  }; // struct GoalStatusArray_

  typedef ::robot_actionlib_msgs::GoalStatusArray_<std::allocator<void>> GoalStatusArray;

  typedef boost::shared_ptr<::robot_actionlib_msgs::GoalStatusArray> GoalStatusArrayPtr;
  typedef boost::shared_ptr<::robot_actionlib_msgs::GoalStatusArray const> GoalStatusArrayConstPtr;

  // constants requiring out of line definition

  template <typename ContainerAllocator1, typename ContainerAllocator2>
  bool operator==(const ::robot_actionlib_msgs::GoalStatusArray_<ContainerAllocator1> &lhs, const ::robot_actionlib_msgs::GoalStatusArray_<ContainerAllocator2> &rhs)
  {
    return lhs.header == rhs.header &&
           lhs.status_list == rhs.status_list;
  }

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

} // namespace robot_actionlib_msgs

#endif // ROBOT_ACTIONLIB_MSGS_MESSAGE_GOALSTATUSARRAY_H
