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

#ifndef ROBOT_STD_MSGS_MESSAGE_COLORRGBA_H
#define ROBOT_STD_MSGS_MESSAGE_COLORRGBA_H

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

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

    ColorRGBA_()
        : r(0.0), g(0.0), b(0.0), a(0.0)
    {
    }
    ColorRGBA_(const ContainerAllocator &_alloc)
        : r(0.0), g(0.0), b(0.0), a(0.0)
    {
      (void)_alloc;
    }

    typedef float _r_type;
    _r_type r;

    typedef float _g_type;
    _g_type g;

    typedef float _b_type;
    _b_type b;

    typedef float _a_type;
    _a_type a;

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

  }; // struct ColorRGBA_

  typedef ::robot_std_msgs::ColorRGBA_<std::allocator<void>> ColorRGBA;

  typedef boost::shared_ptr<::robot_std_msgs::ColorRGBA> ColorRGBAPtr;
  typedef boost::shared_ptr<::robot_std_msgs::ColorRGBA const> ColorRGBAConstPtr;

  // constants requiring out of line definition

  template <typename ContainerAllocator1, typename ContainerAllocator2>
  bool operator==(const ::robot_std_msgs::ColorRGBA_<ContainerAllocator1> &lhs, const ::robot_std_msgs::ColorRGBA_<ContainerAllocator2> &rhs)
  {
    return lhs.r == rhs.r &&
           lhs.g == rhs.g &&
           lhs.b == rhs.b &&
           lhs.a == rhs.a;
  }

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

} // namespace robot_std_msgs

#endif // ROBOT_STD_MSGS_MESSAGE_COLORRGBA_H
