blob: f9b4cbfab76b2e85f7338010f4fbdb32ae758cda [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen.
#pragma once
#include "lib/fidl/cpp/internal/header.h"
namespace fidl {
namespace test {
namespace json {
enum class StrictBits : uint64_t {
SMALLEST = 1u,
BIGGEST = 9223372036854775808u,
};
const static StrictBits StrictBitsMask =
static_cast<StrictBits>(9223372036854775809u);
inline zx_status_t Clone(::fidl::test::json::StrictBits value,
::fidl::test::json::StrictBits* result) {
*result = value;
return ZX_OK;
}
constexpr inline ::fidl::test::json::StrictBits operator|(
::fidl::test::json::StrictBits _lhs, ::fidl::test::json::StrictBits _rhs) {
return static_cast<::fidl::test::json::StrictBits>(
static_cast<uint64_t>(_lhs) | static_cast<uint64_t>(_rhs));
}
constexpr inline ::fidl::test::json::StrictBits& operator|=(
::fidl::test::json::StrictBits& _lhs, ::fidl::test::json::StrictBits _rhs) {
_lhs = _lhs | _rhs;
return _lhs;
}
constexpr inline ::fidl::test::json::StrictBits operator&(
::fidl::test::json::StrictBits _lhs, ::fidl::test::json::StrictBits _rhs) {
return static_cast<::fidl::test::json::StrictBits>(
static_cast<uint64_t>(_lhs) & static_cast<uint64_t>(_rhs));
}
constexpr inline ::fidl::test::json::StrictBits& operator&=(
::fidl::test::json::StrictBits& _lhs, ::fidl::test::json::StrictBits _rhs) {
_lhs = _lhs & _rhs;
return _lhs;
}
constexpr inline ::fidl::test::json::StrictBits operator^(
::fidl::test::json::StrictBits _lhs, ::fidl::test::json::StrictBits _rhs) {
return static_cast<::fidl::test::json::StrictBits>(
static_cast<uint64_t>(_lhs) ^ static_cast<uint64_t>(_rhs));
}
constexpr inline ::fidl::test::json::StrictBits& operator^=(
::fidl::test::json::StrictBits& _lhs, ::fidl::test::json::StrictBits _rhs) {
_lhs = _lhs ^ _rhs;
return _lhs;
}
constexpr inline ::fidl::test::json::StrictBits operator~(
::fidl::test::json::StrictBits _value) {
return static_cast<::fidl::test::json::StrictBits>(
~static_cast<uint64_t>(_value) & static_cast<uint64_t>(StrictBitsMask));
}
enum class MyBits : uint32_t {
MY_FIRST_BIT = 1u,
MY_OTHER_BIT = 2u,
};
const static MyBits MyBitsMask = static_cast<MyBits>(3u);
inline zx_status_t Clone(::fidl::test::json::MyBits value,
::fidl::test::json::MyBits* result) {
*result = value;
return ZX_OK;
}
constexpr inline ::fidl::test::json::MyBits operator|(
::fidl::test::json::MyBits _lhs, ::fidl::test::json::MyBits _rhs) {
return static_cast<::fidl::test::json::MyBits>(static_cast<uint32_t>(_lhs) |
static_cast<uint32_t>(_rhs));
}
constexpr inline ::fidl::test::json::MyBits& operator|=(
::fidl::test::json::MyBits& _lhs, ::fidl::test::json::MyBits _rhs) {
_lhs = _lhs | _rhs;
return _lhs;
}
constexpr inline ::fidl::test::json::MyBits operator&(
::fidl::test::json::MyBits _lhs, ::fidl::test::json::MyBits _rhs) {
return static_cast<::fidl::test::json::MyBits>(static_cast<uint32_t>(_lhs) &
static_cast<uint32_t>(_rhs));
}
constexpr inline ::fidl::test::json::MyBits& operator&=(
::fidl::test::json::MyBits& _lhs, ::fidl::test::json::MyBits _rhs) {
_lhs = _lhs & _rhs;
return _lhs;
}
constexpr inline ::fidl::test::json::MyBits operator^(
::fidl::test::json::MyBits _lhs, ::fidl::test::json::MyBits _rhs) {
return static_cast<::fidl::test::json::MyBits>(static_cast<uint32_t>(_lhs) ^
static_cast<uint32_t>(_rhs));
}
constexpr inline ::fidl::test::json::MyBits& operator^=(
::fidl::test::json::MyBits& _lhs, ::fidl::test::json::MyBits _rhs) {
_lhs = _lhs ^ _rhs;
return _lhs;
}
constexpr inline ::fidl::test::json::MyBits operator~(
::fidl::test::json::MyBits _value) {
return static_cast<::fidl::test::json::MyBits>(
~static_cast<uint32_t>(_value) & static_cast<uint32_t>(MyBitsMask));
}
} // namespace json
} // namespace test
} // namespace fidl
namespace fidl {
template <>
struct CodingTraits<::fidl::test::json::StrictBits> {
static constexpr size_t inline_size_old =
sizeof(::fidl::test::json::StrictBits);
static constexpr size_t inline_size_v1_no_ee =
sizeof(::fidl::test::json::StrictBits);
static void Encode(Encoder* encoder, ::fidl::test::json::StrictBits* value,
size_t offset) {
uint64_t underlying = static_cast<uint64_t>(*value);
::fidl::Encode(encoder, &underlying, offset);
}
static void Decode(Decoder* decoder, ::fidl::test::json::StrictBits* value,
size_t offset) {
uint64_t underlying = {};
::fidl::Decode(decoder, &underlying, offset);
*value = static_cast<::fidl::test::json::StrictBits>(underlying);
}
};
inline zx_status_t Clone(::fidl::test::json::StrictBits value,
::fidl::test::json::StrictBits* result) {
return ::fidl::test::json::Clone(value, result);
}
template <>
struct Equality<::fidl::test::json::StrictBits> {
bool operator()(const ::fidl::test::json::StrictBits& _lhs,
const ::fidl::test::json::StrictBits& _rhs) const {
uint64_t _lhs_underlying = static_cast<uint64_t>(_lhs);
uint64_t _rhs_underlying = static_cast<uint64_t>(_rhs);
return ::fidl::Equals(_lhs_underlying, _rhs_underlying);
}
};
template <>
struct CodingTraits<::fidl::test::json::MyBits> {
static constexpr size_t inline_size_old = sizeof(::fidl::test::json::MyBits);
static constexpr size_t inline_size_v1_no_ee =
sizeof(::fidl::test::json::MyBits);
static void Encode(Encoder* encoder, ::fidl::test::json::MyBits* value,
size_t offset) {
uint32_t underlying = static_cast<uint32_t>(*value);
::fidl::Encode(encoder, &underlying, offset);
}
static void Decode(Decoder* decoder, ::fidl::test::json::MyBits* value,
size_t offset) {
uint32_t underlying = {};
::fidl::Decode(decoder, &underlying, offset);
*value = static_cast<::fidl::test::json::MyBits>(underlying);
}
};
inline zx_status_t Clone(::fidl::test::json::MyBits value,
::fidl::test::json::MyBits* result) {
return ::fidl::test::json::Clone(value, result);
}
template <>
struct Equality<::fidl::test::json::MyBits> {
bool operator()(const ::fidl::test::json::MyBits& _lhs,
const ::fidl::test::json::MyBits& _rhs) const {
uint32_t _lhs_underlying = static_cast<uint32_t>(_lhs);
uint32_t _rhs_underlying = static_cast<uint32_t>(_rhs);
return ::fidl::Equals(_lhs_underlying, _rhs_underlying);
}
};
} // namespace fidl