/* This file is autogenerated. DO NOT CHANGE. All changes will be lost */


#include "google/protobuf/wrappers.qpb.h"

#include <QtProtobuf/qprotobufregistration.h>

#include <QtProtobufWellKnownTypes/private/qprotobufwellknowntypesjsonserializers_p.h>

#include <cmath>

namespace google::protobuf {

class DoubleValue_QtProtobufData : public QSharedData
{
public:
    DoubleValue_QtProtobufData()
        : QSharedData(),
          m_value(0.0)
    {
    }

    DoubleValue_QtProtobufData(const DoubleValue_QtProtobufData &other)
        : QSharedData(other),
          m_value(other.m_value)
    {
    }

    double m_value;
};

DoubleValue::~DoubleValue() = default;

static constexpr struct {
    QtProtobufPrivate::QProtobufPropertyOrdering::Data data;
    const std::array<uint, 5> qt_protobuf_DoubleValue_uint_data;
    const char qt_protobuf_DoubleValue_char_data[35];
} qt_protobuf_DoubleValue_metadata {
    // data
    {
        0, /* = version */
        1, /* = num fields */
        2, /* = field number offset */
        3, /* = property index offset */
        4, /* = field flags offset */
        27, /* = message full name length */
    },
    // uint_data
    {
        // JSON name offsets:
        28, /* = value */
        34, /* = end-of-string-marker */
        // Field numbers:
        1, /* = value */
        // Property indices:
        0, /* = value */
        // Field flags:
        uint(QtProtobufPrivate::FieldFlag::NoFlags), /* = value */
    },
    // char_data
    /* metadata char_data: */
    "google.protobuf.DoubleValue\0" /* = full message name */
    /* field char_data: */
    "value\0"
};

const QtProtobufPrivate::QProtobufPropertyOrdering DoubleValue::staticPropertyOrdering = {
    &qt_protobuf_DoubleValue_metadata.data
};

void DoubleValue::registerTypes()
{
    qRegisterMetaType<DoubleValue>();
    qRegisterMetaType<QList<DoubleValue>>();
    QT_PREPEND_NAMESPACE(QtProtobufWellKnownTypesPrivate)::registerDoubleValueCustomJsonHandler();
}

DoubleValue::DoubleValue()
    : QProtobufMessage(&DoubleValue::staticMetaObject, &DoubleValue::staticPropertyOrdering),
      dptr(new DoubleValue_QtProtobufData)
{
}

DoubleValue::DoubleValue(const DoubleValue &other)
    = default;
DoubleValue &DoubleValue::operator =(const DoubleValue &other)
{
    DoubleValue temp(other);
    swap(temp);
    return *this;
}
DoubleValue::DoubleValue(DoubleValue &&other) noexcept
    = default;
DoubleValue::operator QVariant() const
{
    return QVariant::fromValue(*this);
}
bool comparesEqual(const DoubleValue &lhs, const DoubleValue &rhs) noexcept
{
    return operator ==(static_cast<const QProtobufMessage&>(lhs),
                       static_cast<const QProtobufMessage&>(rhs))
        && lhs.dptr->m_value == rhs.dptr->m_value;
}

double DoubleValue::value() const
{
    return dptr->m_value;
}

void DoubleValue::setValue(double value)
{
    if (dptr->m_value != value ||
        std::signbit(dptr->m_value) != std::signbit(value)) {
        dptr.detach();
        dptr->m_value = value;
    }
}


class FloatValue_QtProtobufData : public QSharedData
{
public:
    FloatValue_QtProtobufData()
        : QSharedData(),
          m_value(0.0)
    {
    }

    FloatValue_QtProtobufData(const FloatValue_QtProtobufData &other)
        : QSharedData(other),
          m_value(other.m_value)
    {
    }

    float m_value;
};

FloatValue::~FloatValue() = default;

static constexpr struct {
    QtProtobufPrivate::QProtobufPropertyOrdering::Data data;
    const std::array<uint, 5> qt_protobuf_FloatValue_uint_data;
    const char qt_protobuf_FloatValue_char_data[34];
} qt_protobuf_FloatValue_metadata {
    // data
    {
        0, /* = version */
        1, /* = num fields */
        2, /* = field number offset */
        3, /* = property index offset */
        4, /* = field flags offset */
        26, /* = message full name length */
    },
    // uint_data
    {
        // JSON name offsets:
        27, /* = value */
        33, /* = end-of-string-marker */
        // Field numbers:
        1, /* = value */
        // Property indices:
        0, /* = value */
        // Field flags:
        uint(QtProtobufPrivate::FieldFlag::NoFlags), /* = value */
    },
    // char_data
    /* metadata char_data: */
    "google.protobuf.FloatValue\0" /* = full message name */
    /* field char_data: */
    "value\0"
};

const QtProtobufPrivate::QProtobufPropertyOrdering FloatValue::staticPropertyOrdering = {
    &qt_protobuf_FloatValue_metadata.data
};

void FloatValue::registerTypes()
{
    qRegisterMetaType<FloatValue>();
    qRegisterMetaType<QList<FloatValue>>();
    QT_PREPEND_NAMESPACE(QtProtobufWellKnownTypesPrivate)::registerFloatValueCustomJsonHandler();
}

FloatValue::FloatValue()
    : QProtobufMessage(&FloatValue::staticMetaObject, &FloatValue::staticPropertyOrdering),
      dptr(new FloatValue_QtProtobufData)
{
}

FloatValue::FloatValue(const FloatValue &other)
    = default;
FloatValue &FloatValue::operator =(const FloatValue &other)
{
    FloatValue temp(other);
    swap(temp);
    return *this;
}
FloatValue::FloatValue(FloatValue &&other) noexcept
    = default;
FloatValue::operator QVariant() const
{
    return QVariant::fromValue(*this);
}
bool comparesEqual(const FloatValue &lhs, const FloatValue &rhs) noexcept
{
    return operator ==(static_cast<const QProtobufMessage&>(lhs),
                       static_cast<const QProtobufMessage&>(rhs))
        && lhs.dptr->m_value == rhs.dptr->m_value;
}

float FloatValue::value() const
{
    return dptr->m_value;
}

void FloatValue::setValue(float value)
{
    if (dptr->m_value != value ||
        std::signbit(dptr->m_value) != std::signbit(value)) {
        dptr.detach();
        dptr->m_value = value;
    }
}


class Int64Value_QtProtobufData : public QSharedData
{
public:
    Int64Value_QtProtobufData()
        : QSharedData(),
          m_value(0)
    {
    }

    Int64Value_QtProtobufData(const Int64Value_QtProtobufData &other)
        : QSharedData(other),
          m_value(other.m_value)
    {
    }

    QtProtobuf::int64 m_value;
};

Int64Value::~Int64Value() = default;

static constexpr struct {
    QtProtobufPrivate::QProtobufPropertyOrdering::Data data;
    const std::array<uint, 5> qt_protobuf_Int64Value_uint_data;
    const char qt_protobuf_Int64Value_char_data[34];
} qt_protobuf_Int64Value_metadata {
    // data
    {
        0, /* = version */
        1, /* = num fields */
        2, /* = field number offset */
        3, /* = property index offset */
        4, /* = field flags offset */
        26, /* = message full name length */
    },
    // uint_data
    {
        // JSON name offsets:
        27, /* = value */
        33, /* = end-of-string-marker */
        // Field numbers:
        1, /* = value */
        // Property indices:
        0, /* = value */
        // Field flags:
        uint(QtProtobufPrivate::FieldFlag::NoFlags), /* = value */
    },
    // char_data
    /* metadata char_data: */
    "google.protobuf.Int64Value\0" /* = full message name */
    /* field char_data: */
    "value\0"
};

const QtProtobufPrivate::QProtobufPropertyOrdering Int64Value::staticPropertyOrdering = {
    &qt_protobuf_Int64Value_metadata.data
};

void Int64Value::registerTypes()
{
    qRegisterMetaType<Int64Value>();
    qRegisterMetaType<QList<Int64Value>>();
    QT_PREPEND_NAMESPACE(QtProtobufWellKnownTypesPrivate)::registerInt64ValueCustomJsonHandler();
}

Int64Value::Int64Value()
    : QProtobufMessage(&Int64Value::staticMetaObject, &Int64Value::staticPropertyOrdering),
      dptr(new Int64Value_QtProtobufData)
{
}

Int64Value::Int64Value(const Int64Value &other)
    = default;
Int64Value &Int64Value::operator =(const Int64Value &other)
{
    Int64Value temp(other);
    swap(temp);
    return *this;
}
Int64Value::Int64Value(Int64Value &&other) noexcept
    = default;
Int64Value::operator QVariant() const
{
    return QVariant::fromValue(*this);
}
bool comparesEqual(const Int64Value &lhs, const Int64Value &rhs) noexcept
{
    return operator ==(static_cast<const QProtobufMessage&>(lhs),
                       static_cast<const QProtobufMessage&>(rhs))
        && lhs.dptr->m_value == rhs.dptr->m_value;
}

QtProtobuf::int64 Int64Value::value() const
{
    return dptr->m_value;
}

void Int64Value::setValue(QtProtobuf::int64 value)
{
    if (dptr->m_value != value) {
        dptr.detach();
        dptr->m_value = value;
    }
}


class UInt64Value_QtProtobufData : public QSharedData
{
public:
    UInt64Value_QtProtobufData()
        : QSharedData(),
          m_value(0)
    {
    }

    UInt64Value_QtProtobufData(const UInt64Value_QtProtobufData &other)
        : QSharedData(other),
          m_value(other.m_value)
    {
    }

    QtProtobuf::uint64 m_value;
};

UInt64Value::~UInt64Value() = default;

static constexpr struct {
    QtProtobufPrivate::QProtobufPropertyOrdering::Data data;
    const std::array<uint, 5> qt_protobuf_UInt64Value_uint_data;
    const char qt_protobuf_UInt64Value_char_data[35];
} qt_protobuf_UInt64Value_metadata {
    // data
    {
        0, /* = version */
        1, /* = num fields */
        2, /* = field number offset */
        3, /* = property index offset */
        4, /* = field flags offset */
        27, /* = message full name length */
    },
    // uint_data
    {
        // JSON name offsets:
        28, /* = value */
        34, /* = end-of-string-marker */
        // Field numbers:
        1, /* = value */
        // Property indices:
        0, /* = value */
        // Field flags:
        uint(QtProtobufPrivate::FieldFlag::NoFlags), /* = value */
    },
    // char_data
    /* metadata char_data: */
    "google.protobuf.UInt64Value\0" /* = full message name */
    /* field char_data: */
    "value\0"
};

const QtProtobufPrivate::QProtobufPropertyOrdering UInt64Value::staticPropertyOrdering = {
    &qt_protobuf_UInt64Value_metadata.data
};

void UInt64Value::registerTypes()
{
    qRegisterMetaType<UInt64Value>();
    qRegisterMetaType<QList<UInt64Value>>();
    QT_PREPEND_NAMESPACE(QtProtobufWellKnownTypesPrivate)::registerUInt64ValueCustomJsonHandler();
}

UInt64Value::UInt64Value()
    : QProtobufMessage(&UInt64Value::staticMetaObject, &UInt64Value::staticPropertyOrdering),
      dptr(new UInt64Value_QtProtobufData)
{
}

UInt64Value::UInt64Value(const UInt64Value &other)
    = default;
UInt64Value &UInt64Value::operator =(const UInt64Value &other)
{
    UInt64Value temp(other);
    swap(temp);
    return *this;
}
UInt64Value::UInt64Value(UInt64Value &&other) noexcept
    = default;
UInt64Value::operator QVariant() const
{
    return QVariant::fromValue(*this);
}
bool comparesEqual(const UInt64Value &lhs, const UInt64Value &rhs) noexcept
{
    return operator ==(static_cast<const QProtobufMessage&>(lhs),
                       static_cast<const QProtobufMessage&>(rhs))
        && lhs.dptr->m_value == rhs.dptr->m_value;
}

QtProtobuf::uint64 UInt64Value::value() const
{
    return dptr->m_value;
}

void UInt64Value::setValue(QtProtobuf::uint64 value)
{
    if (dptr->m_value != value) {
        dptr.detach();
        dptr->m_value = value;
    }
}


class Int32Value_QtProtobufData : public QSharedData
{
public:
    Int32Value_QtProtobufData()
        : QSharedData(),
          m_value(0)
    {
    }

    Int32Value_QtProtobufData(const Int32Value_QtProtobufData &other)
        : QSharedData(other),
          m_value(other.m_value)
    {
    }

    QtProtobuf::int32 m_value;
};

Int32Value::~Int32Value() = default;

static constexpr struct {
    QtProtobufPrivate::QProtobufPropertyOrdering::Data data;
    const std::array<uint, 5> qt_protobuf_Int32Value_uint_data;
    const char qt_protobuf_Int32Value_char_data[34];
} qt_protobuf_Int32Value_metadata {
    // data
    {
        0, /* = version */
        1, /* = num fields */
        2, /* = field number offset */
        3, /* = property index offset */
        4, /* = field flags offset */
        26, /* = message full name length */
    },
    // uint_data
    {
        // JSON name offsets:
        27, /* = value */
        33, /* = end-of-string-marker */
        // Field numbers:
        1, /* = value */
        // Property indices:
        0, /* = value */
        // Field flags:
        uint(QtProtobufPrivate::FieldFlag::NoFlags), /* = value */
    },
    // char_data
    /* metadata char_data: */
    "google.protobuf.Int32Value\0" /* = full message name */
    /* field char_data: */
    "value\0"
};

const QtProtobufPrivate::QProtobufPropertyOrdering Int32Value::staticPropertyOrdering = {
    &qt_protobuf_Int32Value_metadata.data
};

void Int32Value::registerTypes()
{
    qRegisterMetaType<Int32Value>();
    qRegisterMetaType<QList<Int32Value>>();
    QT_PREPEND_NAMESPACE(QtProtobufWellKnownTypesPrivate)::registerInt32ValueCustomJsonHandler();
}

Int32Value::Int32Value()
    : QProtobufMessage(&Int32Value::staticMetaObject, &Int32Value::staticPropertyOrdering),
      dptr(new Int32Value_QtProtobufData)
{
}

Int32Value::Int32Value(const Int32Value &other)
    = default;
Int32Value &Int32Value::operator =(const Int32Value &other)
{
    Int32Value temp(other);
    swap(temp);
    return *this;
}
Int32Value::Int32Value(Int32Value &&other) noexcept
    = default;
Int32Value::operator QVariant() const
{
    return QVariant::fromValue(*this);
}
bool comparesEqual(const Int32Value &lhs, const Int32Value &rhs) noexcept
{
    return operator ==(static_cast<const QProtobufMessage&>(lhs),
                       static_cast<const QProtobufMessage&>(rhs))
        && lhs.dptr->m_value == rhs.dptr->m_value;
}

QtProtobuf::int32 Int32Value::value() const
{
    return dptr->m_value;
}

void Int32Value::setValue(QtProtobuf::int32 value)
{
    if (dptr->m_value != value) {
        dptr.detach();
        dptr->m_value = value;
    }
}


class UInt32Value_QtProtobufData : public QSharedData
{
public:
    UInt32Value_QtProtobufData()
        : QSharedData(),
          m_value(0)
    {
    }

    UInt32Value_QtProtobufData(const UInt32Value_QtProtobufData &other)
        : QSharedData(other),
          m_value(other.m_value)
    {
    }

    QtProtobuf::uint32 m_value;
};

UInt32Value::~UInt32Value() = default;

static constexpr struct {
    QtProtobufPrivate::QProtobufPropertyOrdering::Data data;
    const std::array<uint, 5> qt_protobuf_UInt32Value_uint_data;
    const char qt_protobuf_UInt32Value_char_data[35];
} qt_protobuf_UInt32Value_metadata {
    // data
    {
        0, /* = version */
        1, /* = num fields */
        2, /* = field number offset */
        3, /* = property index offset */
        4, /* = field flags offset */
        27, /* = message full name length */
    },
    // uint_data
    {
        // JSON name offsets:
        28, /* = value */
        34, /* = end-of-string-marker */
        // Field numbers:
        1, /* = value */
        // Property indices:
        0, /* = value */
        // Field flags:
        uint(QtProtobufPrivate::FieldFlag::NoFlags), /* = value */
    },
    // char_data
    /* metadata char_data: */
    "google.protobuf.UInt32Value\0" /* = full message name */
    /* field char_data: */
    "value\0"
};

const QtProtobufPrivate::QProtobufPropertyOrdering UInt32Value::staticPropertyOrdering = {
    &qt_protobuf_UInt32Value_metadata.data
};

void UInt32Value::registerTypes()
{
    qRegisterMetaType<UInt32Value>();
    qRegisterMetaType<QList<UInt32Value>>();
    QT_PREPEND_NAMESPACE(QtProtobufWellKnownTypesPrivate)::registerUInt32ValueCustomJsonHandler();
}

UInt32Value::UInt32Value()
    : QProtobufMessage(&UInt32Value::staticMetaObject, &UInt32Value::staticPropertyOrdering),
      dptr(new UInt32Value_QtProtobufData)
{
}

UInt32Value::UInt32Value(const UInt32Value &other)
    = default;
UInt32Value &UInt32Value::operator =(const UInt32Value &other)
{
    UInt32Value temp(other);
    swap(temp);
    return *this;
}
UInt32Value::UInt32Value(UInt32Value &&other) noexcept
    = default;
UInt32Value::operator QVariant() const
{
    return QVariant::fromValue(*this);
}
bool comparesEqual(const UInt32Value &lhs, const UInt32Value &rhs) noexcept
{
    return operator ==(static_cast<const QProtobufMessage&>(lhs),
                       static_cast<const QProtobufMessage&>(rhs))
        && lhs.dptr->m_value == rhs.dptr->m_value;
}

QtProtobuf::uint32 UInt32Value::value() const
{
    return dptr->m_value;
}

void UInt32Value::setValue(QtProtobuf::uint32 value)
{
    if (dptr->m_value != value) {
        dptr.detach();
        dptr->m_value = value;
    }
}


class BoolValue_QtProtobufData : public QSharedData
{
public:
    BoolValue_QtProtobufData()
        : QSharedData(),
          m_value(false)
    {
    }

    BoolValue_QtProtobufData(const BoolValue_QtProtobufData &other)
        : QSharedData(other),
          m_value(other.m_value)
    {
    }

    bool m_value;
};

BoolValue::~BoolValue() = default;

static constexpr struct {
    QtProtobufPrivate::QProtobufPropertyOrdering::Data data;
    const std::array<uint, 5> qt_protobuf_BoolValue_uint_data;
    const char qt_protobuf_BoolValue_char_data[33];
} qt_protobuf_BoolValue_metadata {
    // data
    {
        0, /* = version */
        1, /* = num fields */
        2, /* = field number offset */
        3, /* = property index offset */
        4, /* = field flags offset */
        25, /* = message full name length */
    },
    // uint_data
    {
        // JSON name offsets:
        26, /* = value */
        32, /* = end-of-string-marker */
        // Field numbers:
        1, /* = value */
        // Property indices:
        0, /* = value */
        // Field flags:
        uint(QtProtobufPrivate::FieldFlag::NoFlags), /* = value */
    },
    // char_data
    /* metadata char_data: */
    "google.protobuf.BoolValue\0" /* = full message name */
    /* field char_data: */
    "value\0"
};

const QtProtobufPrivate::QProtobufPropertyOrdering BoolValue::staticPropertyOrdering = {
    &qt_protobuf_BoolValue_metadata.data
};

void BoolValue::registerTypes()
{
    qRegisterMetaType<BoolValue>();
    qRegisterMetaType<QList<BoolValue>>();
    QT_PREPEND_NAMESPACE(QtProtobufWellKnownTypesPrivate)::registerBoolValueCustomJsonHandler();
}

BoolValue::BoolValue()
    : QProtobufMessage(&BoolValue::staticMetaObject, &BoolValue::staticPropertyOrdering),
      dptr(new BoolValue_QtProtobufData)
{
}

BoolValue::BoolValue(const BoolValue &other)
    = default;
BoolValue &BoolValue::operator =(const BoolValue &other)
{
    BoolValue temp(other);
    swap(temp);
    return *this;
}
BoolValue::BoolValue(BoolValue &&other) noexcept
    = default;
BoolValue::operator QVariant() const
{
    return QVariant::fromValue(*this);
}
bool comparesEqual(const BoolValue &lhs, const BoolValue &rhs) noexcept
{
    return operator ==(static_cast<const QProtobufMessage&>(lhs),
                       static_cast<const QProtobufMessage&>(rhs))
        && lhs.dptr->m_value == rhs.dptr->m_value;
}

bool BoolValue::value() const
{
    return dptr->m_value;
}

void BoolValue::setValue(bool value)
{
    if (dptr->m_value != value) {
        dptr.detach();
        dptr->m_value = value;
    }
}


class StringValue_QtProtobufData : public QSharedData
{
public:
    StringValue_QtProtobufData()
        : QSharedData()
    {
    }

    StringValue_QtProtobufData(const StringValue_QtProtobufData &other)
        : QSharedData(other),
          m_value(other.m_value)
    {
    }

    QString m_value;
};

StringValue::~StringValue() = default;

static constexpr struct {
    QtProtobufPrivate::QProtobufPropertyOrdering::Data data;
    const std::array<uint, 5> qt_protobuf_StringValue_uint_data;
    const char qt_protobuf_StringValue_char_data[35];
} qt_protobuf_StringValue_metadata {
    // data
    {
        0, /* = version */
        1, /* = num fields */
        2, /* = field number offset */
        3, /* = property index offset */
        4, /* = field flags offset */
        27, /* = message full name length */
    },
    // uint_data
    {
        // JSON name offsets:
        28, /* = value */
        34, /* = end-of-string-marker */
        // Field numbers:
        1, /* = value */
        // Property indices:
        0, /* = value */
        // Field flags:
        uint(QtProtobufPrivate::FieldFlag::NoFlags), /* = value */
    },
    // char_data
    /* metadata char_data: */
    "google.protobuf.StringValue\0" /* = full message name */
    /* field char_data: */
    "value\0"
};

const QtProtobufPrivate::QProtobufPropertyOrdering StringValue::staticPropertyOrdering = {
    &qt_protobuf_StringValue_metadata.data
};

void StringValue::registerTypes()
{
    qRegisterMetaType<StringValue>();
    qRegisterMetaType<QList<StringValue>>();
    QT_PREPEND_NAMESPACE(QtProtobufWellKnownTypesPrivate)::registerStringValueCustomJsonHandler();
}

StringValue::StringValue()
    : QProtobufMessage(&StringValue::staticMetaObject, &StringValue::staticPropertyOrdering),
      dptr(new StringValue_QtProtobufData)
{
}

StringValue::StringValue(const StringValue &other)
    = default;
StringValue &StringValue::operator =(const StringValue &other)
{
    StringValue temp(other);
    swap(temp);
    return *this;
}
StringValue::StringValue(StringValue &&other) noexcept
    = default;
StringValue::operator QVariant() const
{
    return QVariant::fromValue(*this);
}
bool comparesEqual(const StringValue &lhs, const StringValue &rhs) noexcept
{
    return operator ==(static_cast<const QProtobufMessage&>(lhs),
                       static_cast<const QProtobufMessage&>(rhs))
        && lhs.dptr->m_value == rhs.dptr->m_value;
}

const QString &StringValue::value() const &
{
    return dptr->m_value;
}

void StringValue::setValue(const QString &value)
{
    if (dptr->m_value != value) {
        dptr.detach();
        dptr->m_value = value;
    }
}

void StringValue::setValue(QString &&value)
{
    if (dptr->m_value != value) {
        dptr.detach();
        dptr->m_value = std::move(value);
    }
}


class BytesValue_QtProtobufData : public QSharedData
{
public:
    BytesValue_QtProtobufData()
        : QSharedData()
    {
    }

    BytesValue_QtProtobufData(const BytesValue_QtProtobufData &other)
        : QSharedData(other),
          m_value(other.m_value)
    {
    }

    QByteArray m_value;
};

BytesValue::~BytesValue() = default;

static constexpr struct {
    QtProtobufPrivate::QProtobufPropertyOrdering::Data data;
    const std::array<uint, 5> qt_protobuf_BytesValue_uint_data;
    const char qt_protobuf_BytesValue_char_data[34];
} qt_protobuf_BytesValue_metadata {
    // data
    {
        0, /* = version */
        1, /* = num fields */
        2, /* = field number offset */
        3, /* = property index offset */
        4, /* = field flags offset */
        26, /* = message full name length */
    },
    // uint_data
    {
        // JSON name offsets:
        27, /* = value */
        33, /* = end-of-string-marker */
        // Field numbers:
        1, /* = value */
        // Property indices:
        0, /* = value */
        // Field flags:
        uint(QtProtobufPrivate::FieldFlag::NoFlags), /* = value */
    },
    // char_data
    /* metadata char_data: */
    "google.protobuf.BytesValue\0" /* = full message name */
    /* field char_data: */
    "value\0"
};

const QtProtobufPrivate::QProtobufPropertyOrdering BytesValue::staticPropertyOrdering = {
    &qt_protobuf_BytesValue_metadata.data
};

void BytesValue::registerTypes()
{
    qRegisterMetaType<BytesValue>();
    qRegisterMetaType<QList<BytesValue>>();
    QT_PREPEND_NAMESPACE(QtProtobufWellKnownTypesPrivate)::registerBytesValueCustomJsonHandler();
}

BytesValue::BytesValue()
    : QProtobufMessage(&BytesValue::staticMetaObject, &BytesValue::staticPropertyOrdering),
      dptr(new BytesValue_QtProtobufData)
{
}

BytesValue::BytesValue(const BytesValue &other)
    = default;
BytesValue &BytesValue::operator =(const BytesValue &other)
{
    BytesValue temp(other);
    swap(temp);
    return *this;
}
BytesValue::BytesValue(BytesValue &&other) noexcept
    = default;
BytesValue::operator QVariant() const
{
    return QVariant::fromValue(*this);
}
bool comparesEqual(const BytesValue &lhs, const BytesValue &rhs) noexcept
{
    return operator ==(static_cast<const QProtobufMessage&>(lhs),
                       static_cast<const QProtobufMessage&>(rhs))
        && lhs.dptr->m_value == rhs.dptr->m_value;
}

const QByteArray &BytesValue::value() const &
{
    return dptr->m_value;
}

void BytesValue::setValue(const QByteArray &value)
{
    if (dptr->m_value != value) {
        dptr.detach();
        dptr->m_value = value;
    }
}

void BytesValue::setValue(QByteArray &&value)
{
    if (dptr->m_value != value) {
        dptr.detach();
        dptr->m_value = std::move(value);
    }
}

} // namespace google::protobuf

#include "moc_wrappers.qpb.cpp"
