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


#ifndef ROBOT_NAV_2D_MSGS_MESSAGE_NAVGRIDINFO_H
#define ROBOT_NAV_2D_MSGS_MESSAGE_NAVGRIDINFO_H

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

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

  NavGridInfo_()
    : width(0)
    , height(0)
    , resolution(0.0)
    , frame_id()
    , origin_x(0.0)
    , origin_y(0.0)  {
    }
  NavGridInfo_(const ContainerAllocator& _alloc)
    : width(0)
    , height(0)
    , resolution(0.0)
    , frame_id(_alloc)
    , origin_x(0.0)
    , origin_y(0.0)  {
  (void)_alloc;
    }



   typedef uint32_t _width_type;
  _width_type width;

   typedef uint32_t _height_type;
  _height_type height;

   typedef double _resolution_type;
  _resolution_type resolution;

   typedef std::basic_string<char, std::char_traits<char>, typename std::allocator_traits<ContainerAllocator>::template rebind_alloc<char>> _frame_id_type;
  _frame_id_type frame_id;

   typedef double _origin_x_type;
  _origin_x_type origin_x;

   typedef double _origin_y_type;
  _origin_y_type origin_y;




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

}; // struct NavGridInfo_

typedef ::robot_nav_2d_msgs::NavGridInfo_<std::allocator<void> > NavGridInfo;

typedef std::shared_ptr< ::robot_nav_2d_msgs::NavGridInfo > NavGridInfoPtr;
typedef std::shared_ptr< ::robot_nav_2d_msgs::NavGridInfo const> NavGridInfoConstPtr;

// constants requiring out of line definition



template<typename ContainerAllocator1, typename ContainerAllocator2>
bool operator==(const ::robot_nav_2d_msgs::NavGridInfo_<ContainerAllocator1> & lhs, const ::robot_nav_2d_msgs::NavGridInfo_<ContainerAllocator2> & rhs)
{
  return lhs.width == rhs.width &&
    lhs.height == rhs.height &&
    lhs.resolution == rhs.resolution &&
    lhs.frame_id == rhs.frame_id &&
    lhs.origin_x == rhs.origin_x &&
    lhs.origin_y == rhs.origin_y;
}

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


} // namespace robot_nav_2d_msgs

#endif // ROBOT_NAV_2D_MSGS_MESSAGE_NAVGRIDINFO_H
