// Generated by gencpp from file nav_msgs/Path.msg
// DO NOT EDIT!


#ifndef NAV_MSGS_MESSAGE_PATH_H
#define NAV_MSGS_MESSAGE_PATH_H


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

#include <std_msgs/Header.h>
#include <geometry_msgs/PoseStamped.h>

namespace nav_msgs
{
template <class ContainerAllocator>
struct Path_
{
  typedef Path_<ContainerAllocator> Type;

  Path_()
    : header()
    , poses()  {
    }
  Path_(const ContainerAllocator& _alloc)
    : header(_alloc)
    , poses(_alloc)  {
  (void)_alloc;
    }



   typedef  ::std_msgs::Header  _header_type;
  _header_type header;

   typedef std::vector< ::geometry_msgs::PoseStamped , typename std::allocator_traits<ContainerAllocator>::template rebind_alloc< ::geometry_msgs::PoseStamped >> _poses_type;
  _poses_type poses;




  typedef boost::shared_ptr< ::nav_msgs::Path_<ContainerAllocator> > Ptr;
  typedef boost::shared_ptr< ::nav_msgs::Path_<ContainerAllocator> const> ConstPtr;

}; // struct Path_

typedef ::nav_msgs::Path_<std::allocator<void> > Path;

typedef boost::shared_ptr< ::nav_msgs::Path > PathPtr;
typedef boost::shared_ptr< ::nav_msgs::Path const> PathConstPtr;

template<typename ContainerAllocator1, typename ContainerAllocator2>
bool operator==(const ::nav_msgs::Path_<ContainerAllocator1> & lhs, const ::nav_msgs::Path_<ContainerAllocator2> & rhs)
{
  return lhs.header == rhs.header &&
    lhs.poses == rhs.poses;
}

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

} // namespace nav_msgs

#endif // NAV_MSGS_MESSAGE_PATH_H
