// Generated by gencpp from file geometry_msgs/PoseWithCovarianceStamped.msg
// DO NOT EDIT!

#ifndef GEOMETRY_MSGS_MESSAGE_POSEWITHCOVARIANCESTAMPED_H
#define GEOMETRY_MSGS_MESSAGE_POSEWITHCOVARIANCESTAMPED_H

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

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

namespace geometry_msgs
{
  template <class ContainerAllocator>
  struct PoseWithCovarianceStamped_
  {
    typedef PoseWithCovarianceStamped_<ContainerAllocator> Type;

    PoseWithCovarianceStamped_()
        : header(), pose()
    {
    }
    PoseWithCovarianceStamped_(const ContainerAllocator &_alloc)
        : header(_alloc), pose(_alloc)
    {
      (void)_alloc;
    }

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

    typedef ::geometry_msgs::PoseWithCovariance_<ContainerAllocator> _pose_type;
    _pose_type pose;

    typedef boost::shared_ptr<::geometry_msgs::PoseWithCovarianceStamped_<ContainerAllocator>> Ptr;
    typedef boost::shared_ptr<::geometry_msgs::PoseWithCovarianceStamped_<ContainerAllocator> const> ConstPtr;

  }; // struct PoseWithCovarianceStamped_

  typedef ::geometry_msgs::PoseWithCovarianceStamped_<std::allocator<void>> PoseWithCovarianceStamped;

  typedef boost::shared_ptr<::geometry_msgs::PoseWithCovarianceStamped> PoseWithCovarianceStampedPtr;
  typedef boost::shared_ptr<::geometry_msgs::PoseWithCovarianceStamped const> PoseWithCovarianceStampedConstPtr;

  template <typename ContainerAllocator1, typename ContainerAllocator2>
  bool operator==(const ::geometry_msgs::PoseWithCovarianceStamped_<ContainerAllocator1> &lhs, const ::geometry_msgs::PoseWithCovarianceStamped_<ContainerAllocator2> &rhs)
  {
    return lhs.header == rhs.header &&
           lhs.pose == rhs.pose;
  }

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

} // namespace geometry_msgs
#endif // GEOMETRY_MSGS_MESSAGE_POSEWITHCOVARIANCESTAMPED_H