// Generated by gencpp from file robot_std_msgs/UInt16MultiArray.msg
// DO NOT EDIT!

#ifndef ROBOT_STD_MSGS_MESSAGE_UINT16MULTIARRAY_H
#define ROBOT_STD_MSGS_MESSAGE_UINT16MULTIARRAY_H

#include <string>
#include <vector>
#include <memory>
#include <robot_std_msgs/MultiArrayLayout.h>

namespace robot_std_msgs
{
  template <class ContainerAllocator>
  struct UInt16MultiArray_
  {
    typedef UInt16MultiArray_<ContainerAllocator> Type;

    UInt16MultiArray_()
        : layout(), data()
    {
    }
    UInt16MultiArray_(const ContainerAllocator &_alloc)
        : layout(_alloc), data(_alloc)
    {
      (void)_alloc;
    }

    typedef ::robot_std_msgs::MultiArrayLayout_<ContainerAllocator> _layout_type;
    _layout_type layout;

    typedef std::vector<uint16_t, typename std::allocator_traits<ContainerAllocator>::template rebind_alloc<uint16_t>> _data_type;
    _data_type data;

    typedef boost::shared_ptr<::robot_std_msgs::UInt16MultiArray_<ContainerAllocator>> Ptr;
    typedef boost::shared_ptr<::robot_std_msgs::UInt16MultiArray_<ContainerAllocator> const> ConstPtr;

  }; // struct UInt16MultiArray_

  typedef ::robot_std_msgs::UInt16MultiArray_<std::allocator<void>> UInt16MultiArray;

  typedef boost::shared_ptr<::robot_std_msgs::UInt16MultiArray> UInt16MultiArrayPtr;
  typedef boost::shared_ptr<::robot_std_msgs::UInt16MultiArray const> UInt16MultiArrayConstPtr;

  template <typename ContainerAllocator1, typename ContainerAllocator2>
  bool operator==(const ::robot_std_msgs::UInt16MultiArray_<ContainerAllocator1> &lhs, const ::robot_std_msgs::UInt16MultiArray_<ContainerAllocator2> &rhs)
  {
    return lhs.layout == rhs.layout &&
           lhs.data == rhs.data;
  }

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

} // namespace robot_std_msgs

#endif // ROBOT_STD_MSGS_MESSAGE_UINT16MULTIARRAY_H
