blob: 3891c2fcc59b992d7e139b1dfc49e04ef57667c7 [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen.
// fidl_experiment = output_index_json
#pragma once
#include <lib/fidl/cpp/wire/array.h>
#include <lib/fidl/cpp/wire/envelope.h>
#include <lib/fidl/cpp/wire/internal/framework_err.h>
#include <lib/fidl/cpp/wire/message.h>
#include <lib/fidl/cpp/wire/message_storage.h>
#include <lib/fidl/cpp/wire/object_view.h>
#include <lib/fidl/cpp/wire/string_view.h>
#include <lib/fidl/cpp/wire/traits.h>
#include <lib/fidl/cpp/wire/wire_types.h>
#include <lib/stdcompat/optional.h>
#include <cinttypes>
#ifdef __Fuchsia__
#endif // __Fuchsia__
#include <fidl/test.bits/cpp/common_types.h>
#include <fidl/test.bits/cpp/markers.h>
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wshadow"
namespace test_bits {
namespace wire {
using MyBits = ::test_bits::MyBits;
using StrictBits = ::test_bits::StrictBits;
using FlexibleBits = ::test_bits::FlexibleBits;
using EmptyBits = ::test_bits::EmptyBits;
} // namespace wire
} // namespace test_bits
namespace fidl {
template <bool IsRecursive>
struct internal::WireCodingTraits<::test_bits::wire::MyBits, ::fidl::internal::WireCodingConstraintEmpty, IsRecursive> {
static constexpr size_t kInlineSize = sizeof(uint32_t);
static constexpr bool kIsMemcpyCompatible = false;
static void Encode(internal::WireEncoder* encoder, ::test_bits::wire::MyBits* value, ::fidl::internal::WirePosition position, RecursionDepth<IsRecursive> recursion_depth) {
if (unlikely(static_cast<uint32_t>(*value) & ~7ull)) {
encoder->SetError(::fidl::internal::kCodingErrorUnknownBitSetInBitsValue);
}
*position.As<::test_bits::wire::MyBits>() = *value;
}
static void Decode(internal::WireDecoder* decoder, ::fidl::internal::WirePosition position, RecursionDepth<IsRecursive> recursion_depth) {
::test_bits::wire::MyBits value = *position.As<::test_bits::wire::MyBits>();
if (unlikely(static_cast<uint32_t>(value) & ~7ull)) {
decoder->SetError(::fidl::internal::kCodingErrorUnknownBitSetInBitsValue);
}
}
};
template <bool IsRecursive>
struct internal::WireCodingTraits<::test_bits::wire::StrictBits, ::fidl::internal::WireCodingConstraintEmpty, IsRecursive> {
static constexpr size_t kInlineSize = sizeof(uint64_t);
static constexpr bool kIsMemcpyCompatible = false;
static void Encode(internal::WireEncoder* encoder, ::test_bits::wire::StrictBits* value, ::fidl::internal::WirePosition position, RecursionDepth<IsRecursive> recursion_depth) {
if (unlikely(static_cast<uint64_t>(*value) & ~9223372036854775809ull)) {
encoder->SetError(::fidl::internal::kCodingErrorUnknownBitSetInBitsValue);
}
*position.As<::test_bits::wire::StrictBits>() = *value;
}
static void Decode(internal::WireDecoder* decoder, ::fidl::internal::WirePosition position, RecursionDepth<IsRecursive> recursion_depth) {
::test_bits::wire::StrictBits value = *position.As<::test_bits::wire::StrictBits>();
if (unlikely(static_cast<uint64_t>(value) & ~9223372036854775809ull)) {
decoder->SetError(::fidl::internal::kCodingErrorUnknownBitSetInBitsValue);
}
}
};
template <bool IsRecursive>
struct internal::WireCodingTraits<::test_bits::wire::FlexibleBits, ::fidl::internal::WireCodingConstraintEmpty, IsRecursive> {
static constexpr size_t kInlineSize = sizeof(uint64_t);
static constexpr bool kIsMemcpyCompatible = true;
static void Encode(internal::WireEncoder* encoder, ::test_bits::wire::FlexibleBits* value, ::fidl::internal::WirePosition position, RecursionDepth<IsRecursive> recursion_depth) {
*position.As<::test_bits::wire::FlexibleBits>() = *value;
}
static void Decode(internal::WireDecoder* decoder, ::fidl::internal::WirePosition position, RecursionDepth<IsRecursive> recursion_depth) {
}
};
template <bool IsRecursive>
struct internal::WireCodingTraits<::test_bits::wire::EmptyBits, ::fidl::internal::WireCodingConstraintEmpty, IsRecursive> {
static constexpr size_t kInlineSize = sizeof(uint32_t);
static constexpr bool kIsMemcpyCompatible = true;
static void Encode(internal::WireEncoder* encoder, ::test_bits::wire::EmptyBits* value, ::fidl::internal::WirePosition position, RecursionDepth<IsRecursive> recursion_depth) {
*position.As<::test_bits::wire::EmptyBits>() = *value;
}
static void Decode(internal::WireDecoder* decoder, ::fidl::internal::WirePosition position, RecursionDepth<IsRecursive> recursion_depth) {
}
};
#pragma clang diagnostic pop
} // namespace fidl