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


#ifndef ROBOT_NAV_2D_MSGS_MESSAGE_NAVGRIDOFDOUBLESUPDATE_H
#define ROBOT_NAV_2D_MSGS_MESSAGE_NAVGRIDOFDOUBLESUPDATE_H


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

#include <robot/time.h>
#include <robot_nav_2d_msgs/UIntBounds.h>

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

  NavGridOfDoublesUpdate_()
    : stamp()
    , bounds()
    , data()  {
    }
  NavGridOfDoublesUpdate_(const ContainerAllocator& _alloc)
    : stamp()
    , bounds(_alloc)
    , data(_alloc)  {
  (void)_alloc;
    }



   typedef robot::Time _stamp_type;
  _stamp_type stamp;

   typedef  ::robot_nav_2d_msgs::UIntBounds_<ContainerAllocator>  _bounds_type;
  _bounds_type bounds;

   typedef std::vector<double, typename std::allocator_traits<ContainerAllocator>::template rebind_alloc<double>> _data_type;
  _data_type data;




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

}; // struct NavGridOfDoublesUpdate_

typedef ::robot_nav_2d_msgs::NavGridOfDoublesUpdate_<std::allocator<void> > NavGridOfDoublesUpdate;

typedef std::shared_ptr< ::robot_nav_2d_msgs::NavGridOfDoublesUpdate > NavGridOfDoublesUpdatePtr;
typedef std::shared_ptr< ::robot_nav_2d_msgs::NavGridOfDoublesUpdate const> NavGridOfDoublesUpdateConstPtr;

// constants requiring out of line definition



template<typename ContainerAllocator1, typename ContainerAllocator2>
bool operator==(const ::robot_nav_2d_msgs::NavGridOfDoublesUpdate_<ContainerAllocator1> & lhs, const ::robot_nav_2d_msgs::NavGridOfDoublesUpdate_<ContainerAllocator2> & rhs)
{
  return lhs.stamp == rhs.stamp &&
    lhs.bounds == rhs.bounds &&
    lhs.data == rhs.data;
}

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


} // namespace robot_nav_2d_msgs

#endif // ROBOT_NAV_2D_MSGS_MESSAGE_NAVGRIDOFDOUBLESUPDATE_H
