// Generated by gencpp from file robot_nav_msgs/LoadMapResponse.msg
// DO NOT EDIT!


#ifndef ROBOT_NAV_MSGS_MESSAGE_LOADMAPRESPONSE_H
#define ROBOT_NAV_MSGS_MESSAGE_LOADMAPRESPONSE_H


#include <string>
#include <vector>
#include <memory>
#include <boost/shared_ptr.hpp>

#include <robot_nav_msgs/OccupancyGrid.h>

namespace robot_nav_msgs
{
template <class ContainerAllocator>
struct LoadMapResponse_
{
  typedef LoadMapResponse_<ContainerAllocator> Type;

  LoadMapResponse_()
    : map()
    , result(0)  {
    }
  LoadMapResponse_(const ContainerAllocator& _alloc)
    : map(_alloc)
    , result(0)  {
  (void)_alloc;
    }



   typedef  ::robot_nav_msgs::OccupancyGrid_<ContainerAllocator>  _map_type;
  _map_type map;

   typedef uint8_t _result_type;
  _result_type result;



// reducing the odds to have name collisions with Windows.h 
#if defined(_WIN32) && defined(RESULT_SUCCESS)
  #undef RESULT_SUCCESS
#endif
#if defined(_WIN32) && defined(RESULT_MAP_DOES_NOT_EXIST)
  #undef RESULT_MAP_DOES_NOT_EXIST
#endif
#if defined(_WIN32) && defined(RESULT_INVALID_MAP_DATA)
  #undef RESULT_INVALID_MAP_DATA
#endif
#if defined(_WIN32) && defined(RESULT_INVALID_MAP_METADATA)
  #undef RESULT_INVALID_MAP_METADATA
#endif
#if defined(_WIN32) && defined(RESULT_UNDEFINED_FAILURE)
  #undef RESULT_UNDEFINED_FAILURE
#endif

  enum {
    RESULT_SUCCESS = 0u,
    RESULT_MAP_DOES_NOT_EXIST = 1u,
    RESULT_INVALID_MAP_DATA = 2u,
    RESULT_INVALID_MAP_METADATA = 3u,
    RESULT_UNDEFINED_FAILURE = 255u,
  };


  typedef boost::shared_ptr< ::robot_nav_msgs::LoadMapResponse_<ContainerAllocator> > Ptr;
  typedef boost::shared_ptr< ::robot_nav_msgs::LoadMapResponse_<ContainerAllocator> const> ConstPtr;

}; // struct LoadMapResponse_

typedef ::robot_nav_msgs::LoadMapResponse_<std::allocator<void> > LoadMapResponse;

typedef boost::shared_ptr< ::robot_nav_msgs::LoadMapResponse > LoadMapResponsePtr;
typedef boost::shared_ptr< ::robot_nav_msgs::LoadMapResponse const> LoadMapResponseConstPtr;

template<typename ContainerAllocator1, typename ContainerAllocator2>
bool operator==(const ::robot_nav_msgs::LoadMapResponse_<ContainerAllocator1> & lhs, const ::robot_nav_msgs::LoadMapResponse_<ContainerAllocator2> & rhs)
{
  return lhs.map == rhs.map &&
    lhs.result == rhs.result;
}

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

} // namespace robot_nav_msgs

#endif // ROBOT_NAV_MSGS_MESSAGE_LOADMAPRESPONSE_H
