// Generated by gencpp from file robot_protocol_msgs/Order.msg
// DO NOT EDIT!


#ifndef ROBOT_PROTOCOL_MSGS_MESSAGE_ORDER_H
#define ROBOT_PROTOCOL_MSGS_MESSAGE_ORDER_H


#include <string>
#include <vector>
#include <memory>

#include <robot_protocol_msgs/Node.h>
#include <robot_protocol_msgs/Edge.h>

namespace robot_protocol_msgs
{
template <class ContainerAllocator>
struct Order_
{
  typedef Order_<ContainerAllocator> Type;

  Order_()
    : headerId(0)
    , timestamp()
    , version()
    , manufacturer()
    , serialNumber()
    , orderId()
    , orderUpdateId(0)
    , nodes()
    , edges()
    , zoneSetId()  {
    }
  Order_(const ContainerAllocator& _alloc)
    : headerId(0)
    , timestamp(_alloc)
    , version(_alloc)
    , manufacturer(_alloc)
    , serialNumber(_alloc)
    , orderId(_alloc)
    , orderUpdateId(0)
    , nodes(_alloc)
    , edges(_alloc)
    , zoneSetId(_alloc)  {
  (void)_alloc;
    }



   typedef int32_t _headerId_type;
  _headerId_type headerId;

   typedef std::basic_string<char, std::char_traits<char>, typename std::allocator_traits<ContainerAllocator>::template rebind_alloc<char>> _timestamp_type;
  _timestamp_type timestamp;

   typedef std::basic_string<char, std::char_traits<char>, typename std::allocator_traits<ContainerAllocator>::template rebind_alloc<char>> _version_type;
  _version_type version;

   typedef std::basic_string<char, std::char_traits<char>, typename std::allocator_traits<ContainerAllocator>::template rebind_alloc<char>> _manufacturer_type;
  _manufacturer_type manufacturer;

   typedef std::basic_string<char, std::char_traits<char>, typename std::allocator_traits<ContainerAllocator>::template rebind_alloc<char>> _serialNumber_type;
  _serialNumber_type serialNumber;

   typedef std::basic_string<char, std::char_traits<char>, typename std::allocator_traits<ContainerAllocator>::template rebind_alloc<char>> _orderId_type;
  _orderId_type orderId;

   typedef uint32_t _orderUpdateId_type;
  _orderUpdateId_type orderUpdateId;

   typedef std::vector< ::robot_protocol_msgs::Node_<ContainerAllocator> , typename std::allocator_traits<ContainerAllocator>::template rebind_alloc< ::robot_protocol_msgs::Node_<ContainerAllocator> >> _nodes_type;
  _nodes_type nodes;

   typedef std::vector< ::robot_protocol_msgs::Edge_<ContainerAllocator> , typename std::allocator_traits<ContainerAllocator>::template rebind_alloc< ::robot_protocol_msgs::Edge_<ContainerAllocator> >> _edges_type;
  _edges_type edges;

   typedef std::basic_string<char, std::char_traits<char>, typename std::allocator_traits<ContainerAllocator>::template rebind_alloc<char>> _zoneSetId_type;
  _zoneSetId_type zoneSetId;





  typedef boost::shared_ptr< ::robot_protocol_msgs::Order_<ContainerAllocator> > Ptr;
  typedef boost::shared_ptr< ::robot_protocol_msgs::Order_<ContainerAllocator> const> ConstPtr;

}; // struct Order_

typedef ::robot_protocol_msgs::Order_<std::allocator<void> > Order;

typedef boost::shared_ptr< ::robot_protocol_msgs::Order > OrderPtr;
typedef boost::shared_ptr< ::robot_protocol_msgs::Order const> OrderConstPtr;


template<typename ContainerAllocator1, typename ContainerAllocator2>
bool operator==(const ::robot_protocol_msgs::Order_<ContainerAllocator1> & lhs, const ::robot_protocol_msgs::Order_<ContainerAllocator2> & rhs)
{
  return lhs.headerId == rhs.headerId &&
    lhs.timestamp == rhs.timestamp &&
    lhs.version == rhs.version &&
    lhs.manufacturer == rhs.manufacturer &&
    lhs.serialNumber == rhs.serialNumber &&
    lhs.orderId == rhs.orderId &&
    lhs.orderUpdateId == rhs.orderUpdateId &&
    lhs.nodes == rhs.nodes &&
    lhs.edges == rhs.edges &&
    lhs.zoneSetId == rhs.zoneSetId;
}

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


} // namespace robot_protocol_msgs

#endif // ROBOT_PROTOCOL_MSGS_MESSAGE_ORDER_H
