// Generated by gencpp from file robot_geometry_msgs/Wrench.msg
// DO NOT EDIT!

#ifndef ROBOT_GEOMETRY_MSGS_MESSAGE_WRENCH_H
#define ROBOT_GEOMETRY_MSGS_MESSAGE_WRENCH_H

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

#include <robot_geometry_msgs/Vector3.h>
#include <robot_geometry_msgs/Vector3.h>

namespace robot_geometry_msgs
{
  template <class ContainerAllocator>
  struct Wrench_
  {
    typedef Wrench_<ContainerAllocator> Type;

    Wrench_()
        : force(), torque()
    {
    }
    Wrench_(const ContainerAllocator &_alloc)
        : force(_alloc), torque(_alloc)
    {
      (void)_alloc;
    }

    typedef ::robot_geometry_msgs::Vector3_<ContainerAllocator> _force_type;
    _force_type force;

    typedef ::robot_geometry_msgs::Vector3_<ContainerAllocator> _torque_type;
    _torque_type torque;

    typedef boost::shared_ptr<::robot_geometry_msgs::Wrench_<ContainerAllocator>> Ptr;
    typedef boost::shared_ptr<::robot_geometry_msgs::Wrench_<ContainerAllocator> const> ConstPtr;

  }; // struct Wrench_

  typedef ::robot_geometry_msgs::Wrench_<std::allocator<void>> Wrench;

  typedef boost::shared_ptr<::robot_geometry_msgs::Wrench> WrenchPtr;
  typedef boost::shared_ptr<::robot_geometry_msgs::Wrench const> WrenchConstPtr;

  // constants requiring out of line definition

  template <typename ContainerAllocator1, typename ContainerAllocator2>
  bool operator==(const ::robot_geometry_msgs::Wrench_<ContainerAllocator1> &lhs, const ::robot_geometry_msgs::Wrench_<ContainerAllocator2> &rhs)
  {
    return lhs.force == rhs.force &&
           lhs.torque == rhs.torque;
  }

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

} // namespace robot_geometry_msgs

#endif // ROBOT_GEOMETRY_MSGS_MESSAGE_WRENCH_H
