| // 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 |