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


#ifndef ROBOT_PROTOCOL_MSGS_MESSAGE_NODE_H
#define ROBOT_PROTOCOL_MSGS_MESSAGE_NODE_H


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

#include <robot_protocol_msgs/NodePosition.h>
#include <robot_protocol_msgs/Action.h>

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

  Node_()
    : nodeId()
    , sequenceId(0)
    , nodeDescription()
    , released(false)
    , nodePosition()
    , actions()  {
    }
  Node_(const ContainerAllocator& _alloc)
    : nodeId(_alloc)
    , sequenceId(0)
    , nodeDescription(_alloc)
    , released(false)
    , nodePosition(_alloc)
    , actions(_alloc)  {
  (void)_alloc;
    }



   typedef std::basic_string<char, std::char_traits<char>, typename std::allocator_traits<ContainerAllocator>::template rebind_alloc<char>> _nodeId_type;
  _nodeId_type nodeId;

   typedef int32_t _sequenceId_type;
  _sequenceId_type sequenceId;

   typedef std::basic_string<char, std::char_traits<char>, typename std::allocator_traits<ContainerAllocator>::template rebind_alloc<char>> _nodeDescription_type;
  _nodeDescription_type nodeDescription;

   typedef uint8_t _released_type;
  _released_type released;

   typedef  ::robot_protocol_msgs::NodePosition_<ContainerAllocator>  _nodePosition_type;
  _nodePosition_type nodePosition;

   typedef std::vector< ::robot_protocol_msgs::Action_<ContainerAllocator> , typename std::allocator_traits<ContainerAllocator>::template rebind_alloc< ::robot_protocol_msgs::Action_<ContainerAllocator> >> _actions_type;
  _actions_type actions;





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

}; // struct Node_

typedef ::robot_protocol_msgs::Node_<std::allocator<void> > Node;

typedef boost::shared_ptr< ::robot_protocol_msgs::Node > NodePtr;
typedef boost::shared_ptr< ::robot_protocol_msgs::Node const> NodeConstPtr;

template<typename ContainerAllocator1, typename ContainerAllocator2>
bool operator==(const ::robot_protocol_msgs::Node_<ContainerAllocator1> & lhs, const ::robot_protocol_msgs::Node_<ContainerAllocator2> & rhs)
{
  return lhs.nodeId == rhs.nodeId &&
    lhs.sequenceId == rhs.sequenceId &&
    lhs.nodeDescription == rhs.nodeDescription &&
    lhs.released == rhs.released &&
    lhs.nodePosition == rhs.nodePosition &&
    lhs.actions == rhs.actions;
}

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


} // namespace robot_protocol_msgs

#endif // ROBOT_PROTOCOL_MSGS_MESSAGE_NODE_H
