blob: a7706f7d478b1bed434877094e9b6f2d09eea210 [file]
/**
* Generated by the Emboss compiler. DO NOT EDIT!
*/
#ifndef TESTDATA_COMPLEX_STRUCTURE_EMB_H_
#define TESTDATA_COMPLEX_STRUCTURE_EMB_H_
#include <stdint.h>
#include <string.h>
#include <algorithm>
#include <type_traits>
#include <utility>
#include "runtime/cpp/emboss_cpp_util.h"
#include "runtime/cpp/emboss_enum_view.h"
#include "runtime/cpp/emboss_prelude.h"
#include "runtime/cpp/emboss_text_util.h"
/* NOLINTBEGIN */
namespace emboss_test {
namespace RegisterLayout {} // namespace RegisterLayout
template <class Storage>
class GenericRegisterLayoutView;
namespace ArrayElement {} // namespace ArrayElement
template <class Storage>
class GenericArrayElementView;
namespace Complex {
namespace EmbossReservedAnonymousField1 {
} // namespace EmbossReservedAnonymousField1
template <class Storage>
class GenericEmbossReservedAnonymousField1View;
} // namespace Complex
template <class Storage>
class GenericComplexView;
namespace RegisterLayout {} // namespace RegisterLayout
template <class View>
struct EmbossReservedInternalIsGenericRegisterLayoutView;
template <class Storage>
class GenericRegisterLayoutView final {
public:
GenericRegisterLayoutView() : backing_() {}
explicit GenericRegisterLayoutView(Storage emboss_reserved_local_bytes)
: backing_(emboss_reserved_local_bytes) {}
template <typename OtherStorage>
GenericRegisterLayoutView(const GenericRegisterLayoutView<OtherStorage>&
emboss_reserved_local_other)
: backing_{emboss_reserved_local_other.BackingStorage()} {}
template <typename Arg,
typename = typename ::std::enable_if<
!EmbossReservedInternalIsGenericRegisterLayoutView<
typename ::std::remove_cv<typename ::std::remove_reference<
Arg>::type>::type>::value>::type>
explicit GenericRegisterLayoutView(Arg&& emboss_reserved_local_arg)
: backing_(::std::forward<Arg>(emboss_reserved_local_arg)) {}
template <typename Arg0, typename Arg1, typename... Args>
explicit GenericRegisterLayoutView(Arg0&& emboss_reserved_local_arg0,
Arg1&& emboss_reserved_local_arg1,
Args&&... emboss_reserved_local_args)
: backing_(::std::forward<Arg0>(emboss_reserved_local_arg0),
::std::forward<Arg1>(emboss_reserved_local_arg1),
::std::forward<Args>(emboss_reserved_local_args)...) {}
template <typename OtherStorage>
GenericRegisterLayoutView<Storage>& operator=(
const GenericRegisterLayoutView<OtherStorage>&
emboss_reserved_local_other) {
backing_ = emboss_reserved_local_other.BackingStorage();
return *this;
}
bool Ok() const {
if (!IsComplete()) return false;
if (!has_x().Known()) return false;
if (has_x().ValueOrDefault() && !x().Ok()) return false;
if (!has_l().Known()) return false;
if (has_l().ValueOrDefault() && !l().Ok()) return false;
if (!has_h().Known()) return false;
if (has_h().ValueOrDefault() && !h().Ok()) return false;
if (!has_IntrinsicSizeInBits().Known()) return false;
if (has_IntrinsicSizeInBits().ValueOrDefault() &&
!IntrinsicSizeInBits().Ok())
return false;
if (!has_MaxSizeInBits().Known()) return false;
if (has_MaxSizeInBits().ValueOrDefault() && !MaxSizeInBits().Ok())
return false;
if (!has_MinSizeInBits().Known()) return false;
if (has_MinSizeInBits().ValueOrDefault() && !MinSizeInBits().Ok())
return false;
return true;
}
Storage BackingStorage() const { return backing_; }
bool IsComplete() const {
return backing_.Ok() && IntrinsicSizeInBits().Ok() &&
backing_.SizeInBits() >= static_cast</**/ ::std::size_t>(
IntrinsicSizeInBits().UncheckedRead());
}
static constexpr ::std::size_t SizeInBits() {
return static_cast</**/ ::std::size_t>(IntrinsicSizeInBits().Read());
}
static constexpr bool SizeIsKnown() { return IntrinsicSizeInBits().Ok(); }
template <typename OtherStorage>
bool Equals(GenericRegisterLayoutView<OtherStorage>
emboss_reserved_local_other) const {
if (!has_x().Known()) return false;
if (!emboss_reserved_local_other.has_x().Known()) return false;
if (emboss_reserved_local_other.has_x().ValueOrDefault() &&
!has_x().ValueOrDefault())
return false;
if (has_x().ValueOrDefault() &&
!emboss_reserved_local_other.has_x().ValueOrDefault())
return false;
if (emboss_reserved_local_other.has_x().ValueOrDefault() &&
has_x().ValueOrDefault() &&
!x().Equals(emboss_reserved_local_other.x()))
return false;
if (!has_l().Known()) return false;
if (!emboss_reserved_local_other.has_l().Known()) return false;
if (emboss_reserved_local_other.has_l().ValueOrDefault() &&
!has_l().ValueOrDefault())
return false;
if (has_l().ValueOrDefault() &&
!emboss_reserved_local_other.has_l().ValueOrDefault())
return false;
if (emboss_reserved_local_other.has_l().ValueOrDefault() &&
has_l().ValueOrDefault() &&
!l().Equals(emboss_reserved_local_other.l()))
return false;
if (!has_h().Known()) return false;
if (!emboss_reserved_local_other.has_h().Known()) return false;
if (emboss_reserved_local_other.has_h().ValueOrDefault() &&
!has_h().ValueOrDefault())
return false;
if (has_h().ValueOrDefault() &&
!emboss_reserved_local_other.has_h().ValueOrDefault())
return false;
if (emboss_reserved_local_other.has_h().ValueOrDefault() &&
has_h().ValueOrDefault() &&
!h().Equals(emboss_reserved_local_other.h()))
return false;
return true;
}
template <typename OtherStorage>
bool UncheckedEquals(GenericRegisterLayoutView<OtherStorage>
emboss_reserved_local_other) const {
if (emboss_reserved_local_other.has_x().ValueOr(false) &&
!has_x().ValueOr(false))
return false;
if (has_x().ValueOr(false) &&
!emboss_reserved_local_other.has_x().ValueOr(false))
return false;
if (emboss_reserved_local_other.has_x().ValueOr(false) &&
has_x().ValueOr(false) &&
!x().UncheckedEquals(emboss_reserved_local_other.x()))
return false;
if (emboss_reserved_local_other.has_l().ValueOr(false) &&
!has_l().ValueOr(false))
return false;
if (has_l().ValueOr(false) &&
!emboss_reserved_local_other.has_l().ValueOr(false))
return false;
if (emboss_reserved_local_other.has_l().ValueOr(false) &&
has_l().ValueOr(false) &&
!l().UncheckedEquals(emboss_reserved_local_other.l()))
return false;
if (emboss_reserved_local_other.has_h().ValueOr(false) &&
!has_h().ValueOr(false))
return false;
if (has_h().ValueOr(false) &&
!emboss_reserved_local_other.has_h().ValueOr(false))
return false;
if (emboss_reserved_local_other.has_h().ValueOr(false) &&
has_h().ValueOr(false) &&
!h().UncheckedEquals(emboss_reserved_local_other.h()))
return false;
return true;
}
template <typename OtherStorage>
void UncheckedCopyFrom(GenericRegisterLayoutView<OtherStorage>
emboss_reserved_local_other) const {
backing_.UncheckedCopyFrom(
emboss_reserved_local_other.BackingStorage(),
emboss_reserved_local_other.IntrinsicSizeInBits().UncheckedRead());
}
template <typename OtherStorage>
void CopyFrom(GenericRegisterLayoutView<OtherStorage>
emboss_reserved_local_other) const {
backing_.CopyFrom(emboss_reserved_local_other.BackingStorage(),
emboss_reserved_local_other.IntrinsicSizeInBits().Read());
}
template <typename OtherStorage>
bool TryToCopyFrom(GenericRegisterLayoutView<OtherStorage>
emboss_reserved_local_other) const {
return emboss_reserved_local_other.Ok() &&
backing_.TryToCopyFrom(
emboss_reserved_local_other.BackingStorage(),
emboss_reserved_local_other.IntrinsicSizeInBits().Read());
}
template <class Stream>
bool UpdateFromTextStream(Stream* emboss_reserved_local_stream) const {
::std::string emboss_reserved_local_brace;
if (!::emboss::support::ReadToken(emboss_reserved_local_stream,
&emboss_reserved_local_brace))
return false;
if (emboss_reserved_local_brace != "{") return false;
for (;;) {
::std::string emboss_reserved_local_name;
if (!::emboss::support::ReadToken(emboss_reserved_local_stream,
&emboss_reserved_local_name))
return false;
if (emboss_reserved_local_name == ",")
if (!::emboss::support::ReadToken(emboss_reserved_local_stream,
&emboss_reserved_local_name))
return false;
if (emboss_reserved_local_name == "}") return true;
::std::string emboss_reserved_local_colon;
if (!::emboss::support::ReadToken(emboss_reserved_local_stream,
&emboss_reserved_local_colon))
return false;
if (emboss_reserved_local_colon != ":") return false;
if (emboss_reserved_local_name == "x") {
if (!x().UpdateFromTextStream(emboss_reserved_local_stream)) {
return false;
}
continue;
}
if (emboss_reserved_local_name == "l") {
if (!l().UpdateFromTextStream(emboss_reserved_local_stream)) {
return false;
}
continue;
}
if (emboss_reserved_local_name == "h") {
if (!h().UpdateFromTextStream(emboss_reserved_local_stream)) {
return false;
}
continue;
}
return false;
}
}
template <class Stream>
void WriteToTextStream(
Stream* emboss_reserved_local_stream,
::emboss::TextOutputOptions emboss_reserved_local_options) const {
::emboss::TextOutputOptions emboss_reserved_local_field_options =
emboss_reserved_local_options.PlusOneIndent();
if (emboss_reserved_local_options.multiline()) {
emboss_reserved_local_stream->Write("{\n");
} else {
emboss_reserved_local_stream->Write("{");
}
bool emboss_reserved_local_wrote_field = false;
if (has_x().ValueOr(false)) {
if (!emboss_reserved_local_field_options.allow_partial_output() ||
x().IsAggregate() || x().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
} else {
if (emboss_reserved_local_wrote_field) {
emboss_reserved_local_stream->Write(",");
}
emboss_reserved_local_stream->Write(" ");
}
emboss_reserved_local_stream->Write("x: ");
x().WriteToTextStream(emboss_reserved_local_stream,
emboss_reserved_local_field_options);
emboss_reserved_local_wrote_field = true;
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write("\n");
}
} else if (emboss_reserved_local_field_options.allow_partial_output() &&
emboss_reserved_local_field_options.comments() &&
!x().IsAggregate() && !x().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
}
emboss_reserved_local_stream->Write("# x: UNREADABLE\n");
}
}
if (has_l().ValueOr(false)) {
if (!emboss_reserved_local_field_options.allow_partial_output() ||
l().IsAggregate() || l().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
} else {
if (emboss_reserved_local_wrote_field) {
emboss_reserved_local_stream->Write(",");
}
emboss_reserved_local_stream->Write(" ");
}
emboss_reserved_local_stream->Write("l: ");
l().WriteToTextStream(emboss_reserved_local_stream,
emboss_reserved_local_field_options);
emboss_reserved_local_wrote_field = true;
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write("\n");
}
} else if (emboss_reserved_local_field_options.allow_partial_output() &&
emboss_reserved_local_field_options.comments() &&
!l().IsAggregate() && !l().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
}
emboss_reserved_local_stream->Write("# l: UNREADABLE\n");
}
}
if (has_h().ValueOr(false)) {
if (!emboss_reserved_local_field_options.allow_partial_output() ||
h().IsAggregate() || h().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
} else {
if (emboss_reserved_local_wrote_field) {
emboss_reserved_local_stream->Write(",");
}
emboss_reserved_local_stream->Write(" ");
}
emboss_reserved_local_stream->Write("h: ");
h().WriteToTextStream(emboss_reserved_local_stream,
emboss_reserved_local_field_options);
emboss_reserved_local_wrote_field = true;
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write("\n");
}
} else if (emboss_reserved_local_field_options.allow_partial_output() &&
emboss_reserved_local_field_options.comments() &&
!h().IsAggregate() && !h().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
}
emboss_reserved_local_stream->Write("# h: UNREADABLE\n");
}
}
(void)emboss_reserved_local_wrote_field;
if (emboss_reserved_local_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_options.current_indent());
emboss_reserved_local_stream->Write("}");
} else {
emboss_reserved_local_stream->Write(" }");
}
}
static constexpr bool IsAggregate() { return true; }
public:
typename ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 0>>
x() const;
::emboss::support::Maybe<bool> has_x() const;
public:
typename ::emboss::prelude::UIntView<
/**/ ::emboss::support::FixedSizeViewParameters<
4, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 0>>
l() const;
::emboss::support::Maybe<bool> has_l() const;
public:
typename ::emboss::prelude::UIntView<
/**/ ::emboss::support::FixedSizeViewParameters<
4, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 4>>
h() const;
::emboss::support::Maybe<bool> has_h() const;
public:
class EmbossReservedDollarVirtualIntrinsicSizeInBitsView final {
public:
using ValueType = ::std::int32_t;
constexpr EmbossReservedDollarVirtualIntrinsicSizeInBitsView() {}
EmbossReservedDollarVirtualIntrinsicSizeInBitsView(
const EmbossReservedDollarVirtualIntrinsicSizeInBitsView&) = default;
EmbossReservedDollarVirtualIntrinsicSizeInBitsView(
EmbossReservedDollarVirtualIntrinsicSizeInBitsView&&) = default;
EmbossReservedDollarVirtualIntrinsicSizeInBitsView& operator=(
const EmbossReservedDollarVirtualIntrinsicSizeInBitsView&) = default;
EmbossReservedDollarVirtualIntrinsicSizeInBitsView& operator=(
EmbossReservedDollarVirtualIntrinsicSizeInBitsView&&) = default;
~EmbossReservedDollarVirtualIntrinsicSizeInBitsView() = default;
static constexpr ::std::int32_t Read();
static constexpr ::std::int32_t UncheckedRead();
static constexpr bool Ok() { return true; }
template <class Stream>
void WriteToTextStream(Stream* emboss_reserved_local_stream,
const ::emboss::TextOutputOptions&
emboss_reserved_local_options) const {
::emboss::support::WriteIntegerViewToTextStream(
this, emboss_reserved_local_stream, emboss_reserved_local_options);
}
static constexpr bool IsAggregate() { return false; }
};
static constexpr EmbossReservedDollarVirtualIntrinsicSizeInBitsView
IntrinsicSizeInBits() {
return EmbossReservedDollarVirtualIntrinsicSizeInBitsView();
}
static constexpr ::emboss::support::Maybe<bool> has_IntrinsicSizeInBits() {
return ::emboss::support::Maybe<bool>(true);
}
public:
class EmbossReservedDollarVirtualMaxSizeInBitsView final {
public:
using ValueType = ::std::int32_t;
constexpr EmbossReservedDollarVirtualMaxSizeInBitsView() {}
EmbossReservedDollarVirtualMaxSizeInBitsView(
const EmbossReservedDollarVirtualMaxSizeInBitsView&) = default;
EmbossReservedDollarVirtualMaxSizeInBitsView(
EmbossReservedDollarVirtualMaxSizeInBitsView&&) = default;
EmbossReservedDollarVirtualMaxSizeInBitsView& operator=(
const EmbossReservedDollarVirtualMaxSizeInBitsView&) = default;
EmbossReservedDollarVirtualMaxSizeInBitsView& operator=(
EmbossReservedDollarVirtualMaxSizeInBitsView&&) = default;
~EmbossReservedDollarVirtualMaxSizeInBitsView() = default;
static constexpr ::std::int32_t Read();
static constexpr ::std::int32_t UncheckedRead();
static constexpr bool Ok() { return true; }
template <class Stream>
void WriteToTextStream(Stream* emboss_reserved_local_stream,
const ::emboss::TextOutputOptions&
emboss_reserved_local_options) const {
::emboss::support::WriteIntegerViewToTextStream(
this, emboss_reserved_local_stream, emboss_reserved_local_options);
}
static constexpr bool IsAggregate() { return false; }
};
static constexpr EmbossReservedDollarVirtualMaxSizeInBitsView
MaxSizeInBits() {
return EmbossReservedDollarVirtualMaxSizeInBitsView();
}
static constexpr ::emboss::support::Maybe<bool> has_MaxSizeInBits() {
return ::emboss::support::Maybe<bool>(true);
}
public:
class EmbossReservedDollarVirtualMinSizeInBitsView final {
public:
using ValueType = ::std::int32_t;
constexpr EmbossReservedDollarVirtualMinSizeInBitsView() {}
EmbossReservedDollarVirtualMinSizeInBitsView(
const EmbossReservedDollarVirtualMinSizeInBitsView&) = default;
EmbossReservedDollarVirtualMinSizeInBitsView(
EmbossReservedDollarVirtualMinSizeInBitsView&&) = default;
EmbossReservedDollarVirtualMinSizeInBitsView& operator=(
const EmbossReservedDollarVirtualMinSizeInBitsView&) = default;
EmbossReservedDollarVirtualMinSizeInBitsView& operator=(
EmbossReservedDollarVirtualMinSizeInBitsView&&) = default;
~EmbossReservedDollarVirtualMinSizeInBitsView() = default;
static constexpr ::std::int32_t Read();
static constexpr ::std::int32_t UncheckedRead();
static constexpr bool Ok() { return true; }
template <class Stream>
void WriteToTextStream(Stream* emboss_reserved_local_stream,
const ::emboss::TextOutputOptions&
emboss_reserved_local_options) const {
::emboss::support::WriteIntegerViewToTextStream(
this, emboss_reserved_local_stream, emboss_reserved_local_options);
}
static constexpr bool IsAggregate() { return false; }
};
static constexpr EmbossReservedDollarVirtualMinSizeInBitsView
MinSizeInBits() {
return EmbossReservedDollarVirtualMinSizeInBitsView();
}
static constexpr ::emboss::support::Maybe<bool> has_MinSizeInBits() {
return ::emboss::support::Maybe<bool>(true);
}
private:
Storage backing_;
template <class OtherStorage>
friend class GenericRegisterLayoutView;
};
using RegisterLayoutView =
GenericRegisterLayoutView</**/ ::emboss::support::ReadOnlyContiguousBuffer>;
using RegisterLayoutWriter = GenericRegisterLayoutView<
/**/ ::emboss::support::ReadWriteContiguousBuffer>;
template <class View>
struct EmbossReservedInternalIsGenericRegisterLayoutView {
static constexpr const bool value = false;
};
template <class Storage>
struct EmbossReservedInternalIsGenericRegisterLayoutView<
GenericRegisterLayoutView<Storage>> {
static constexpr const bool value = true;
};
template <typename T>
inline GenericRegisterLayoutView<
/**/ ::emboss::support::ContiguousBuffer<
typename ::std::remove_reference<
decltype(*::std::declval<T>()->data())>::type,
1, 0>>
MakeRegisterLayoutView(T&& emboss_reserved_local_arg) {
return GenericRegisterLayoutView<
/**/ ::emboss::support::ContiguousBuffer<
typename ::std::remove_reference<
decltype(*::std::declval<T>()->data())>::type,
1, 0>>(::std::forward<T>(emboss_reserved_local_arg));
}
template <typename T>
inline GenericRegisterLayoutView<
/**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>
MakeRegisterLayoutView(T* emboss_reserved_local_data,
::std::size_t emboss_reserved_local_size) {
return GenericRegisterLayoutView<
/**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>(
emboss_reserved_local_data, emboss_reserved_local_size);
}
template <typename T, ::std::size_t kAlignment>
inline GenericRegisterLayoutView<
/**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>
MakeAlignedRegisterLayoutView(T* emboss_reserved_local_data,
::std::size_t emboss_reserved_local_size) {
return GenericRegisterLayoutView<
/**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>(
emboss_reserved_local_data, emboss_reserved_local_size);
}
namespace ArrayElement {} // namespace ArrayElement
template <class View>
struct EmbossReservedInternalIsGenericArrayElementView;
template <class Storage>
class GenericArrayElementView final {
public:
GenericArrayElementView() : backing_() {}
explicit GenericArrayElementView(Storage emboss_reserved_local_bytes)
: backing_(emboss_reserved_local_bytes) {}
template <typename OtherStorage>
GenericArrayElementView(
const GenericArrayElementView<OtherStorage>& emboss_reserved_local_other)
: backing_{emboss_reserved_local_other.BackingStorage()} {}
template <typename Arg,
typename = typename ::std::enable_if<
!EmbossReservedInternalIsGenericArrayElementView<
typename ::std::remove_cv<typename ::std::remove_reference<
Arg>::type>::type>::value>::type>
explicit GenericArrayElementView(Arg&& emboss_reserved_local_arg)
: backing_(::std::forward<Arg>(emboss_reserved_local_arg)) {}
template <typename Arg0, typename Arg1, typename... Args>
explicit GenericArrayElementView(Arg0&& emboss_reserved_local_arg0,
Arg1&& emboss_reserved_local_arg1,
Args&&... emboss_reserved_local_args)
: backing_(::std::forward<Arg0>(emboss_reserved_local_arg0),
::std::forward<Arg1>(emboss_reserved_local_arg1),
::std::forward<Args>(emboss_reserved_local_args)...) {}
template <typename OtherStorage>
GenericArrayElementView<Storage>& operator=(
const GenericArrayElementView<OtherStorage>&
emboss_reserved_local_other) {
backing_ = emboss_reserved_local_other.BackingStorage();
return *this;
}
bool Ok() const {
if (!IsComplete()) return false;
if (!has_a().Known()) return false;
if (has_a().ValueOrDefault() && !a().Ok()) return false;
if (!has_IntrinsicSizeInBytes().Known()) return false;
if (has_IntrinsicSizeInBytes().ValueOrDefault() &&
!IntrinsicSizeInBytes().Ok())
return false;
if (!has_MaxSizeInBytes().Known()) return false;
if (has_MaxSizeInBytes().ValueOrDefault() && !MaxSizeInBytes().Ok())
return false;
if (!has_MinSizeInBytes().Known()) return false;
if (has_MinSizeInBytes().ValueOrDefault() && !MinSizeInBytes().Ok())
return false;
return true;
}
Storage BackingStorage() const { return backing_; }
bool IsComplete() const {
return backing_.Ok() && IntrinsicSizeInBytes().Ok() &&
backing_.SizeInBytes() >=
static_cast</**/ ::std::size_t>(
IntrinsicSizeInBytes().UncheckedRead());
}
static constexpr ::std::size_t SizeInBytes() {
return static_cast</**/ ::std::size_t>(IntrinsicSizeInBytes().Read());
}
static constexpr bool SizeIsKnown() { return IntrinsicSizeInBytes().Ok(); }
template <typename OtherStorage>
bool Equals(
GenericArrayElementView<OtherStorage> emboss_reserved_local_other) const {
if (!has_a().Known()) return false;
if (!emboss_reserved_local_other.has_a().Known()) return false;
if (emboss_reserved_local_other.has_a().ValueOrDefault() &&
!has_a().ValueOrDefault())
return false;
if (has_a().ValueOrDefault() &&
!emboss_reserved_local_other.has_a().ValueOrDefault())
return false;
if (emboss_reserved_local_other.has_a().ValueOrDefault() &&
has_a().ValueOrDefault() &&
!a().Equals(emboss_reserved_local_other.a()))
return false;
return true;
}
template <typename OtherStorage>
bool UncheckedEquals(
GenericArrayElementView<OtherStorage> emboss_reserved_local_other) const {
if (emboss_reserved_local_other.has_a().ValueOr(false) &&
!has_a().ValueOr(false))
return false;
if (has_a().ValueOr(false) &&
!emboss_reserved_local_other.has_a().ValueOr(false))
return false;
if (emboss_reserved_local_other.has_a().ValueOr(false) &&
has_a().ValueOr(false) &&
!a().UncheckedEquals(emboss_reserved_local_other.a()))
return false;
return true;
}
template <typename OtherStorage>
void UncheckedCopyFrom(
GenericArrayElementView<OtherStorage> emboss_reserved_local_other) const {
backing_.UncheckedCopyFrom(
emboss_reserved_local_other.BackingStorage(),
emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead());
}
template <typename OtherStorage>
void CopyFrom(
GenericArrayElementView<OtherStorage> emboss_reserved_local_other) const {
backing_.CopyFrom(
emboss_reserved_local_other.BackingStorage(),
emboss_reserved_local_other.IntrinsicSizeInBytes().Read());
}
template <typename OtherStorage>
bool TryToCopyFrom(
GenericArrayElementView<OtherStorage> emboss_reserved_local_other) const {
return emboss_reserved_local_other.Ok() &&
backing_.TryToCopyFrom(
emboss_reserved_local_other.BackingStorage(),
emboss_reserved_local_other.IntrinsicSizeInBytes().Read());
}
template <class Stream>
bool UpdateFromTextStream(Stream* emboss_reserved_local_stream) const {
::std::string emboss_reserved_local_brace;
if (!::emboss::support::ReadToken(emboss_reserved_local_stream,
&emboss_reserved_local_brace))
return false;
if (emboss_reserved_local_brace != "{") return false;
for (;;) {
::std::string emboss_reserved_local_name;
if (!::emboss::support::ReadToken(emboss_reserved_local_stream,
&emboss_reserved_local_name))
return false;
if (emboss_reserved_local_name == ",")
if (!::emboss::support::ReadToken(emboss_reserved_local_stream,
&emboss_reserved_local_name))
return false;
if (emboss_reserved_local_name == "}") return true;
::std::string emboss_reserved_local_colon;
if (!::emboss::support::ReadToken(emboss_reserved_local_stream,
&emboss_reserved_local_colon))
return false;
if (emboss_reserved_local_colon != ":") return false;
if (emboss_reserved_local_name == "a") {
if (!a().UpdateFromTextStream(emboss_reserved_local_stream)) {
return false;
}
continue;
}
return false;
}
}
template <class Stream>
void WriteToTextStream(
Stream* emboss_reserved_local_stream,
::emboss::TextOutputOptions emboss_reserved_local_options) const {
::emboss::TextOutputOptions emboss_reserved_local_field_options =
emboss_reserved_local_options.PlusOneIndent();
if (emboss_reserved_local_options.multiline()) {
emboss_reserved_local_stream->Write("{\n");
} else {
emboss_reserved_local_stream->Write("{");
}
bool emboss_reserved_local_wrote_field = false;
if (has_a().ValueOr(false)) {
if (!emboss_reserved_local_field_options.allow_partial_output() ||
a().IsAggregate() || a().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
} else {
if (emboss_reserved_local_wrote_field) {
emboss_reserved_local_stream->Write(",");
}
emboss_reserved_local_stream->Write(" ");
}
emboss_reserved_local_stream->Write("a: ");
a().WriteToTextStream(emboss_reserved_local_stream,
emboss_reserved_local_field_options);
emboss_reserved_local_wrote_field = true;
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write("\n");
}
} else if (emboss_reserved_local_field_options.allow_partial_output() &&
emboss_reserved_local_field_options.comments() &&
!a().IsAggregate() && !a().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
}
emboss_reserved_local_stream->Write("# a: UNREADABLE\n");
}
}
(void)emboss_reserved_local_wrote_field;
if (emboss_reserved_local_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_options.current_indent());
emboss_reserved_local_stream->Write("}");
} else {
emboss_reserved_local_stream->Write(" }");
}
}
static constexpr bool IsAggregate() { return true; }
public:
typename ::emboss_test::GenericRegisterLayoutView<
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 0>>,
8>>
a() const;
::emboss::support::Maybe<bool> has_a() const;
public:
class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final {
public:
using ValueType = ::std::int32_t;
constexpr EmbossReservedDollarVirtualIntrinsicSizeInBytesView() {}
EmbossReservedDollarVirtualIntrinsicSizeInBytesView(
const EmbossReservedDollarVirtualIntrinsicSizeInBytesView&) = default;
EmbossReservedDollarVirtualIntrinsicSizeInBytesView(
EmbossReservedDollarVirtualIntrinsicSizeInBytesView&&) = default;
EmbossReservedDollarVirtualIntrinsicSizeInBytesView& operator=(
const EmbossReservedDollarVirtualIntrinsicSizeInBytesView&) = default;
EmbossReservedDollarVirtualIntrinsicSizeInBytesView& operator=(
EmbossReservedDollarVirtualIntrinsicSizeInBytesView&&) = default;
~EmbossReservedDollarVirtualIntrinsicSizeInBytesView() = default;
static constexpr ::std::int32_t Read();
static constexpr ::std::int32_t UncheckedRead();
static constexpr bool Ok() { return true; }
template <class Stream>
void WriteToTextStream(Stream* emboss_reserved_local_stream,
const ::emboss::TextOutputOptions&
emboss_reserved_local_options) const {
::emboss::support::WriteIntegerViewToTextStream(
this, emboss_reserved_local_stream, emboss_reserved_local_options);
}
static constexpr bool IsAggregate() { return false; }
};
static constexpr EmbossReservedDollarVirtualIntrinsicSizeInBytesView
IntrinsicSizeInBytes() {
return EmbossReservedDollarVirtualIntrinsicSizeInBytesView();
}
static constexpr ::emboss::support::Maybe<bool> has_IntrinsicSizeInBytes() {
return ::emboss::support::Maybe<bool>(true);
}
public:
class EmbossReservedDollarVirtualMaxSizeInBytesView final {
public:
using ValueType = ::std::int32_t;
constexpr EmbossReservedDollarVirtualMaxSizeInBytesView() {}
EmbossReservedDollarVirtualMaxSizeInBytesView(
const EmbossReservedDollarVirtualMaxSizeInBytesView&) = default;
EmbossReservedDollarVirtualMaxSizeInBytesView(
EmbossReservedDollarVirtualMaxSizeInBytesView&&) = default;
EmbossReservedDollarVirtualMaxSizeInBytesView& operator=(
const EmbossReservedDollarVirtualMaxSizeInBytesView&) = default;
EmbossReservedDollarVirtualMaxSizeInBytesView& operator=(
EmbossReservedDollarVirtualMaxSizeInBytesView&&) = default;
~EmbossReservedDollarVirtualMaxSizeInBytesView() = default;
static constexpr ::std::int32_t Read();
static constexpr ::std::int32_t UncheckedRead();
static constexpr bool Ok() { return true; }
template <class Stream>
void WriteToTextStream(Stream* emboss_reserved_local_stream,
const ::emboss::TextOutputOptions&
emboss_reserved_local_options) const {
::emboss::support::WriteIntegerViewToTextStream(
this, emboss_reserved_local_stream, emboss_reserved_local_options);
}
static constexpr bool IsAggregate() { return false; }
};
static constexpr EmbossReservedDollarVirtualMaxSizeInBytesView
MaxSizeInBytes() {
return EmbossReservedDollarVirtualMaxSizeInBytesView();
}
static constexpr ::emboss::support::Maybe<bool> has_MaxSizeInBytes() {
return ::emboss::support::Maybe<bool>(true);
}
public:
class EmbossReservedDollarVirtualMinSizeInBytesView final {
public:
using ValueType = ::std::int32_t;
constexpr EmbossReservedDollarVirtualMinSizeInBytesView() {}
EmbossReservedDollarVirtualMinSizeInBytesView(
const EmbossReservedDollarVirtualMinSizeInBytesView&) = default;
EmbossReservedDollarVirtualMinSizeInBytesView(
EmbossReservedDollarVirtualMinSizeInBytesView&&) = default;
EmbossReservedDollarVirtualMinSizeInBytesView& operator=(
const EmbossReservedDollarVirtualMinSizeInBytesView&) = default;
EmbossReservedDollarVirtualMinSizeInBytesView& operator=(
EmbossReservedDollarVirtualMinSizeInBytesView&&) = default;
~EmbossReservedDollarVirtualMinSizeInBytesView() = default;
static constexpr ::std::int32_t Read();
static constexpr ::std::int32_t UncheckedRead();
static constexpr bool Ok() { return true; }
template <class Stream>
void WriteToTextStream(Stream* emboss_reserved_local_stream,
const ::emboss::TextOutputOptions&
emboss_reserved_local_options) const {
::emboss::support::WriteIntegerViewToTextStream(
this, emboss_reserved_local_stream, emboss_reserved_local_options);
}
static constexpr bool IsAggregate() { return false; }
};
static constexpr EmbossReservedDollarVirtualMinSizeInBytesView
MinSizeInBytes() {
return EmbossReservedDollarVirtualMinSizeInBytesView();
}
static constexpr ::emboss::support::Maybe<bool> has_MinSizeInBytes() {
return ::emboss::support::Maybe<bool>(true);
}
private:
Storage backing_;
template <class OtherStorage>
friend class GenericArrayElementView;
};
using ArrayElementView =
GenericArrayElementView</**/ ::emboss::support::ReadOnlyContiguousBuffer>;
using ArrayElementWriter =
GenericArrayElementView</**/ ::emboss::support::ReadWriteContiguousBuffer>;
template <class View>
struct EmbossReservedInternalIsGenericArrayElementView {
static constexpr const bool value = false;
};
template <class Storage>
struct EmbossReservedInternalIsGenericArrayElementView<
GenericArrayElementView<Storage>> {
static constexpr const bool value = true;
};
template <typename T>
inline GenericArrayElementView<
/**/ ::emboss::support::ContiguousBuffer<
typename ::std::remove_reference<
decltype(*::std::declval<T>()->data())>::type,
1, 0>>
MakeArrayElementView(T&& emboss_reserved_local_arg) {
return GenericArrayElementView<
/**/ ::emboss::support::ContiguousBuffer<
typename ::std::remove_reference<
decltype(*::std::declval<T>()->data())>::type,
1, 0>>(::std::forward<T>(emboss_reserved_local_arg));
}
template <typename T>
inline GenericArrayElementView<
/**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>
MakeArrayElementView(T* emboss_reserved_local_data,
::std::size_t emboss_reserved_local_size) {
return GenericArrayElementView<
/**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>(
emboss_reserved_local_data, emboss_reserved_local_size);
}
template <typename T, ::std::size_t kAlignment>
inline GenericArrayElementView<
/**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>
MakeAlignedArrayElementView(T* emboss_reserved_local_data,
::std::size_t emboss_reserved_local_size) {
return GenericArrayElementView<
/**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>(
emboss_reserved_local_data, emboss_reserved_local_size);
}
namespace Complex {
namespace EmbossReservedAnonymousField1 {
} // namespace EmbossReservedAnonymousField1
template <class View>
struct EmbossReservedInternalIsGenericEmbossReservedAnonymousField1View;
template <class Storage>
class GenericEmbossReservedAnonymousField1View final {
public:
GenericEmbossReservedAnonymousField1View() : backing_() {}
explicit GenericEmbossReservedAnonymousField1View(
Storage emboss_reserved_local_bytes)
: backing_(emboss_reserved_local_bytes) {}
template <typename OtherStorage>
GenericEmbossReservedAnonymousField1View(
const GenericEmbossReservedAnonymousField1View<OtherStorage>&
emboss_reserved_local_other)
: backing_{emboss_reserved_local_other.BackingStorage()} {}
template <
typename Arg,
typename = typename ::std::enable_if<
!EmbossReservedInternalIsGenericEmbossReservedAnonymousField1View<
typename ::std::remove_cv<typename ::std::remove_reference<
Arg>::type>::type>::value>::type>
explicit GenericEmbossReservedAnonymousField1View(
Arg&& emboss_reserved_local_arg)
: backing_(::std::forward<Arg>(emboss_reserved_local_arg)) {}
template <typename Arg0, typename Arg1, typename... Args>
explicit GenericEmbossReservedAnonymousField1View(
Arg0&& emboss_reserved_local_arg0, Arg1&& emboss_reserved_local_arg1,
Args&&... emboss_reserved_local_args)
: backing_(::std::forward<Arg0>(emboss_reserved_local_arg0),
::std::forward<Arg1>(emboss_reserved_local_arg1),
::std::forward<Args>(emboss_reserved_local_args)...) {}
template <typename OtherStorage>
GenericEmbossReservedAnonymousField1View<Storage>& operator=(
const GenericEmbossReservedAnonymousField1View<OtherStorage>&
emboss_reserved_local_other) {
backing_ = emboss_reserved_local_other.BackingStorage();
return *this;
}
bool Ok() const {
if (!IsComplete()) return false;
if (!has_a0().Known()) return false;
if (has_a0().ValueOrDefault() && !a0().Ok()) return false;
if (!has_s0().Known()) return false;
if (has_s0().ValueOrDefault() && !s0().Ok()) return false;
if (!has_l0().Known()) return false;
if (has_l0().ValueOrDefault() && !l0().Ok()) return false;
if (!has_h0().Known()) return false;
if (has_h0().ValueOrDefault() && !h0().Ok()) return false;
if (!has_IntrinsicSizeInBits().Known()) return false;
if (has_IntrinsicSizeInBits().ValueOrDefault() &&
!IntrinsicSizeInBits().Ok())
return false;
if (!has_MaxSizeInBits().Known()) return false;
if (has_MaxSizeInBits().ValueOrDefault() && !MaxSizeInBits().Ok())
return false;
if (!has_MinSizeInBits().Known()) return false;
if (has_MinSizeInBits().ValueOrDefault() && !MinSizeInBits().Ok())
return false;
return true;
}
Storage BackingStorage() const { return backing_; }
bool IsComplete() const {
return backing_.Ok() && IntrinsicSizeInBits().Ok() &&
backing_.SizeInBits() >= static_cast</**/ ::std::size_t>(
IntrinsicSizeInBits().UncheckedRead());
}
static constexpr ::std::size_t SizeInBits() {
return static_cast</**/ ::std::size_t>(IntrinsicSizeInBits().Read());
}
static constexpr bool SizeIsKnown() { return IntrinsicSizeInBits().Ok(); }
template <typename OtherStorage>
bool Equals(GenericEmbossReservedAnonymousField1View<OtherStorage>
emboss_reserved_local_other) const {
if (!has_a0().Known()) return false;
if (!emboss_reserved_local_other.has_a0().Known()) return false;
if (emboss_reserved_local_other.has_a0().ValueOrDefault() &&
!has_a0().ValueOrDefault())
return false;
if (has_a0().ValueOrDefault() &&
!emboss_reserved_local_other.has_a0().ValueOrDefault())
return false;
if (emboss_reserved_local_other.has_a0().ValueOrDefault() &&
has_a0().ValueOrDefault() &&
!a0().Equals(emboss_reserved_local_other.a0()))
return false;
if (!has_s0().Known()) return false;
if (!emboss_reserved_local_other.has_s0().Known()) return false;
if (emboss_reserved_local_other.has_s0().ValueOrDefault() &&
!has_s0().ValueOrDefault())
return false;
if (has_s0().ValueOrDefault() &&
!emboss_reserved_local_other.has_s0().ValueOrDefault())
return false;
if (emboss_reserved_local_other.has_s0().ValueOrDefault() &&
has_s0().ValueOrDefault() &&
!s0().Equals(emboss_reserved_local_other.s0()))
return false;
if (!has_l0().Known()) return false;
if (!emboss_reserved_local_other.has_l0().Known()) return false;
if (emboss_reserved_local_other.has_l0().ValueOrDefault() &&
!has_l0().ValueOrDefault())
return false;
if (has_l0().ValueOrDefault() &&
!emboss_reserved_local_other.has_l0().ValueOrDefault())
return false;
if (emboss_reserved_local_other.has_l0().ValueOrDefault() &&
has_l0().ValueOrDefault() &&
!l0().Equals(emboss_reserved_local_other.l0()))
return false;
if (!has_h0().Known()) return false;
if (!emboss_reserved_local_other.has_h0().Known()) return false;
if (emboss_reserved_local_other.has_h0().ValueOrDefault() &&
!has_h0().ValueOrDefault())
return false;
if (has_h0().ValueOrDefault() &&
!emboss_reserved_local_other.has_h0().ValueOrDefault())
return false;
if (emboss_reserved_local_other.has_h0().ValueOrDefault() &&
has_h0().ValueOrDefault() &&
!h0().Equals(emboss_reserved_local_other.h0()))
return false;
return true;
}
template <typename OtherStorage>
bool UncheckedEquals(GenericEmbossReservedAnonymousField1View<OtherStorage>
emboss_reserved_local_other) const {
if (emboss_reserved_local_other.has_a0().ValueOr(false) &&
!has_a0().ValueOr(false))
return false;
if (has_a0().ValueOr(false) &&
!emboss_reserved_local_other.has_a0().ValueOr(false))
return false;
if (emboss_reserved_local_other.has_a0().ValueOr(false) &&
has_a0().ValueOr(false) &&
!a0().UncheckedEquals(emboss_reserved_local_other.a0()))
return false;
if (emboss_reserved_local_other.has_s0().ValueOr(false) &&
!has_s0().ValueOr(false))
return false;
if (has_s0().ValueOr(false) &&
!emboss_reserved_local_other.has_s0().ValueOr(false))
return false;
if (emboss_reserved_local_other.has_s0().ValueOr(false) &&
has_s0().ValueOr(false) &&
!s0().UncheckedEquals(emboss_reserved_local_other.s0()))
return false;
if (emboss_reserved_local_other.has_l0().ValueOr(false) &&
!has_l0().ValueOr(false))
return false;
if (has_l0().ValueOr(false) &&
!emboss_reserved_local_other.has_l0().ValueOr(false))
return false;
if (emboss_reserved_local_other.has_l0().ValueOr(false) &&
has_l0().ValueOr(false) &&
!l0().UncheckedEquals(emboss_reserved_local_other.l0()))
return false;
if (emboss_reserved_local_other.has_h0().ValueOr(false) &&
!has_h0().ValueOr(false))
return false;
if (has_h0().ValueOr(false) &&
!emboss_reserved_local_other.has_h0().ValueOr(false))
return false;
if (emboss_reserved_local_other.has_h0().ValueOr(false) &&
has_h0().ValueOr(false) &&
!h0().UncheckedEquals(emboss_reserved_local_other.h0()))
return false;
return true;
}
template <typename OtherStorage>
void UncheckedCopyFrom(GenericEmbossReservedAnonymousField1View<OtherStorage>
emboss_reserved_local_other) const {
backing_.UncheckedCopyFrom(
emboss_reserved_local_other.BackingStorage(),
emboss_reserved_local_other.IntrinsicSizeInBits().UncheckedRead());
}
template <typename OtherStorage>
void CopyFrom(GenericEmbossReservedAnonymousField1View<OtherStorage>
emboss_reserved_local_other) const {
backing_.CopyFrom(emboss_reserved_local_other.BackingStorage(),
emboss_reserved_local_other.IntrinsicSizeInBits().Read());
}
template <typename OtherStorage>
bool TryToCopyFrom(GenericEmbossReservedAnonymousField1View<OtherStorage>
emboss_reserved_local_other) const {
return emboss_reserved_local_other.Ok() &&
backing_.TryToCopyFrom(
emboss_reserved_local_other.BackingStorage(),
emboss_reserved_local_other.IntrinsicSizeInBits().Read());
}
template <class Stream>
bool UpdateFromTextStream(Stream* emboss_reserved_local_stream) const {
::std::string emboss_reserved_local_brace;
if (!::emboss::support::ReadToken(emboss_reserved_local_stream,
&emboss_reserved_local_brace))
return false;
if (emboss_reserved_local_brace != "{") return false;
for (;;) {
::std::string emboss_reserved_local_name;
if (!::emboss::support::ReadToken(emboss_reserved_local_stream,
&emboss_reserved_local_name))
return false;
if (emboss_reserved_local_name == ",")
if (!::emboss::support::ReadToken(emboss_reserved_local_stream,
&emboss_reserved_local_name))
return false;
if (emboss_reserved_local_name == "}") return true;
::std::string emboss_reserved_local_colon;
if (!::emboss::support::ReadToken(emboss_reserved_local_stream,
&emboss_reserved_local_colon))
return false;
if (emboss_reserved_local_colon != ":") return false;
if (emboss_reserved_local_name == "a0") {
if (!a0().UpdateFromTextStream(emboss_reserved_local_stream)) {
return false;
}
continue;
}
if (emboss_reserved_local_name == "s0") {
if (!s0().UpdateFromTextStream(emboss_reserved_local_stream)) {
return false;
}
continue;
}
if (emboss_reserved_local_name == "l0") {
if (!l0().UpdateFromTextStream(emboss_reserved_local_stream)) {
return false;
}
continue;
}
if (emboss_reserved_local_name == "h0") {
if (!h0().UpdateFromTextStream(emboss_reserved_local_stream)) {
return false;
}
continue;
}
return false;
}
}
template <class Stream>
void WriteToTextStream(
Stream* emboss_reserved_local_stream,
::emboss::TextOutputOptions emboss_reserved_local_options) const {
::emboss::TextOutputOptions emboss_reserved_local_field_options =
emboss_reserved_local_options.PlusOneIndent();
if (emboss_reserved_local_options.multiline()) {
emboss_reserved_local_stream->Write("{\n");
} else {
emboss_reserved_local_stream->Write("{");
}
bool emboss_reserved_local_wrote_field = false;
if (has_a0().ValueOr(false)) {
if (!emboss_reserved_local_field_options.allow_partial_output() ||
a0().IsAggregate() || a0().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
} else {
if (emboss_reserved_local_wrote_field) {
emboss_reserved_local_stream->Write(",");
}
emboss_reserved_local_stream->Write(" ");
}
emboss_reserved_local_stream->Write("a0: ");
a0().WriteToTextStream(emboss_reserved_local_stream,
emboss_reserved_local_field_options);
emboss_reserved_local_wrote_field = true;
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write("\n");
}
} else if (emboss_reserved_local_field_options.allow_partial_output() &&
emboss_reserved_local_field_options.comments() &&
!a0().IsAggregate() && !a0().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
}
emboss_reserved_local_stream->Write("# a0: UNREADABLE\n");
}
}
if (has_s0().ValueOr(false)) {
if (!emboss_reserved_local_field_options.allow_partial_output() ||
s0().IsAggregate() || s0().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
} else {
if (emboss_reserved_local_wrote_field) {
emboss_reserved_local_stream->Write(",");
}
emboss_reserved_local_stream->Write(" ");
}
emboss_reserved_local_stream->Write("s0: ");
s0().WriteToTextStream(emboss_reserved_local_stream,
emboss_reserved_local_field_options);
emboss_reserved_local_wrote_field = true;
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write("\n");
}
} else if (emboss_reserved_local_field_options.allow_partial_output() &&
emboss_reserved_local_field_options.comments() &&
!s0().IsAggregate() && !s0().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
}
emboss_reserved_local_stream->Write("# s0: UNREADABLE\n");
}
}
if (has_l0().ValueOr(false)) {
if (!emboss_reserved_local_field_options.allow_partial_output() ||
l0().IsAggregate() || l0().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
} else {
if (emboss_reserved_local_wrote_field) {
emboss_reserved_local_stream->Write(",");
}
emboss_reserved_local_stream->Write(" ");
}
emboss_reserved_local_stream->Write("l0: ");
l0().WriteToTextStream(emboss_reserved_local_stream,
emboss_reserved_local_field_options);
emboss_reserved_local_wrote_field = true;
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write("\n");
}
} else if (emboss_reserved_local_field_options.allow_partial_output() &&
emboss_reserved_local_field_options.comments() &&
!l0().IsAggregate() && !l0().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
}
emboss_reserved_local_stream->Write("# l0: UNREADABLE\n");
}
}
if (has_h0().ValueOr(false)) {
if (!emboss_reserved_local_field_options.allow_partial_output() ||
h0().IsAggregate() || h0().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
} else {
if (emboss_reserved_local_wrote_field) {
emboss_reserved_local_stream->Write(",");
}
emboss_reserved_local_stream->Write(" ");
}
emboss_reserved_local_stream->Write("h0: ");
h0().WriteToTextStream(emboss_reserved_local_stream,
emboss_reserved_local_field_options);
emboss_reserved_local_wrote_field = true;
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write("\n");
}
} else if (emboss_reserved_local_field_options.allow_partial_output() &&
emboss_reserved_local_field_options.comments() &&
!h0().IsAggregate() && !h0().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
}
emboss_reserved_local_stream->Write("# h0: UNREADABLE\n");
}
}
(void)emboss_reserved_local_wrote_field;
if (emboss_reserved_local_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_options.current_indent());
emboss_reserved_local_stream->Write("}");
} else {
emboss_reserved_local_stream->Write(" }");
}
}
static constexpr bool IsAggregate() { return true; }
public:
typename ::emboss::prelude::UIntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 0>>
a0() const;
::emboss::support::Maybe<bool> has_a0() const;
public:
typename ::emboss::prelude::FlagView<
/**/ ::emboss::support::FixedSizeViewParameters<
1, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 7>>
s0() const;
::emboss::support::Maybe<bool> has_s0() const;
public:
typename ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
4, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 0>>
l0() const;
::emboss::support::Maybe<bool> has_l0() const;
public:
typename ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
4, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 4>>
h0() const;
::emboss::support::Maybe<bool> has_h0() const;
public:
class EmbossReservedDollarVirtualIntrinsicSizeInBitsView final {
public:
using ValueType = ::std::int32_t;
constexpr EmbossReservedDollarVirtualIntrinsicSizeInBitsView() {}
EmbossReservedDollarVirtualIntrinsicSizeInBitsView(
const EmbossReservedDollarVirtualIntrinsicSizeInBitsView&) = default;
EmbossReservedDollarVirtualIntrinsicSizeInBitsView(
EmbossReservedDollarVirtualIntrinsicSizeInBitsView&&) = default;
EmbossReservedDollarVirtualIntrinsicSizeInBitsView& operator=(
const EmbossReservedDollarVirtualIntrinsicSizeInBitsView&) = default;
EmbossReservedDollarVirtualIntrinsicSizeInBitsView& operator=(
EmbossReservedDollarVirtualIntrinsicSizeInBitsView&&) = default;
~EmbossReservedDollarVirtualIntrinsicSizeInBitsView() = default;
static constexpr ::std::int32_t Read();
static constexpr ::std::int32_t UncheckedRead();
static constexpr bool Ok() { return true; }
template <class Stream>
void WriteToTextStream(Stream* emboss_reserved_local_stream,
const ::emboss::TextOutputOptions&
emboss_reserved_local_options) const {
::emboss::support::WriteIntegerViewToTextStream(
this, emboss_reserved_local_stream, emboss_reserved_local_options);
}
static constexpr bool IsAggregate() { return false; }
};
static constexpr EmbossReservedDollarVirtualIntrinsicSizeInBitsView
IntrinsicSizeInBits() {
return EmbossReservedDollarVirtualIntrinsicSizeInBitsView();
}
static constexpr ::emboss::support::Maybe<bool> has_IntrinsicSizeInBits() {
return ::emboss::support::Maybe<bool>(true);
}
public:
class EmbossReservedDollarVirtualMaxSizeInBitsView final {
public:
using ValueType = ::std::int32_t;
constexpr EmbossReservedDollarVirtualMaxSizeInBitsView() {}
EmbossReservedDollarVirtualMaxSizeInBitsView(
const EmbossReservedDollarVirtualMaxSizeInBitsView&) = default;
EmbossReservedDollarVirtualMaxSizeInBitsView(
EmbossReservedDollarVirtualMaxSizeInBitsView&&) = default;
EmbossReservedDollarVirtualMaxSizeInBitsView& operator=(
const EmbossReservedDollarVirtualMaxSizeInBitsView&) = default;
EmbossReservedDollarVirtualMaxSizeInBitsView& operator=(
EmbossReservedDollarVirtualMaxSizeInBitsView&&) = default;
~EmbossReservedDollarVirtualMaxSizeInBitsView() = default;
static constexpr ::std::int32_t Read();
static constexpr ::std::int32_t UncheckedRead();
static constexpr bool Ok() { return true; }
template <class Stream>
void WriteToTextStream(Stream* emboss_reserved_local_stream,
const ::emboss::TextOutputOptions&
emboss_reserved_local_options) const {
::emboss::support::WriteIntegerViewToTextStream(
this, emboss_reserved_local_stream, emboss_reserved_local_options);
}
static constexpr bool IsAggregate() { return false; }
};
static constexpr EmbossReservedDollarVirtualMaxSizeInBitsView
MaxSizeInBits() {
return EmbossReservedDollarVirtualMaxSizeInBitsView();
}
static constexpr ::emboss::support::Maybe<bool> has_MaxSizeInBits() {
return ::emboss::support::Maybe<bool>(true);
}
public:
class EmbossReservedDollarVirtualMinSizeInBitsView final {
public:
using ValueType = ::std::int32_t;
constexpr EmbossReservedDollarVirtualMinSizeInBitsView() {}
EmbossReservedDollarVirtualMinSizeInBitsView(
const EmbossReservedDollarVirtualMinSizeInBitsView&) = default;
EmbossReservedDollarVirtualMinSizeInBitsView(
EmbossReservedDollarVirtualMinSizeInBitsView&&) = default;
EmbossReservedDollarVirtualMinSizeInBitsView& operator=(
const EmbossReservedDollarVirtualMinSizeInBitsView&) = default;
EmbossReservedDollarVirtualMinSizeInBitsView& operator=(
EmbossReservedDollarVirtualMinSizeInBitsView&&) = default;
~EmbossReservedDollarVirtualMinSizeInBitsView() = default;
static constexpr ::std::int32_t Read();
static constexpr ::std::int32_t UncheckedRead();
static constexpr bool Ok() { return true; }
template <class Stream>
void WriteToTextStream(Stream* emboss_reserved_local_stream,
const ::emboss::TextOutputOptions&
emboss_reserved_local_options) const {
::emboss::support::WriteIntegerViewToTextStream(
this, emboss_reserved_local_stream, emboss_reserved_local_options);
}
static constexpr bool IsAggregate() { return false; }
};
static constexpr EmbossReservedDollarVirtualMinSizeInBitsView
MinSizeInBits() {
return EmbossReservedDollarVirtualMinSizeInBitsView();
}
static constexpr ::emboss::support::Maybe<bool> has_MinSizeInBits() {
return ::emboss::support::Maybe<bool>(true);
}
private:
Storage backing_;
template <class OtherStorage>
friend class GenericEmbossReservedAnonymousField1View;
};
using EmbossReservedAnonymousField1View =
GenericEmbossReservedAnonymousField1View<
/**/ ::emboss::support::ReadOnlyContiguousBuffer>;
using EmbossReservedAnonymousField1Writer =
GenericEmbossReservedAnonymousField1View<
/**/ ::emboss::support::ReadWriteContiguousBuffer>;
template <class View>
struct EmbossReservedInternalIsGenericEmbossReservedAnonymousField1View {
static constexpr const bool value = false;
};
template <class Storage>
struct EmbossReservedInternalIsGenericEmbossReservedAnonymousField1View<
GenericEmbossReservedAnonymousField1View<Storage>> {
static constexpr const bool value = true;
};
template <typename T>
inline GenericEmbossReservedAnonymousField1View<
/**/ ::emboss::support::ContiguousBuffer<
typename ::std::remove_reference<
decltype(*::std::declval<T>()->data())>::type,
1, 0>>
MakeEmbossReservedAnonymousField1View(T&& emboss_reserved_local_arg) {
return GenericEmbossReservedAnonymousField1View<
/**/ ::emboss::support::ContiguousBuffer<
typename ::std::remove_reference<
decltype(*::std::declval<T>()->data())>::type,
1, 0>>(::std::forward<T>(emboss_reserved_local_arg));
}
template <typename T>
inline GenericEmbossReservedAnonymousField1View<
/**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>
MakeEmbossReservedAnonymousField1View(
T* emboss_reserved_local_data, ::std::size_t emboss_reserved_local_size) {
return GenericEmbossReservedAnonymousField1View<
/**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>(
emboss_reserved_local_data, emboss_reserved_local_size);
}
template <typename T, ::std::size_t kAlignment>
inline GenericEmbossReservedAnonymousField1View<
/**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>
MakeAlignedEmbossReservedAnonymousField1View(
T* emboss_reserved_local_data, ::std::size_t emboss_reserved_local_size) {
return GenericEmbossReservedAnonymousField1View<
/**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>(
emboss_reserved_local_data, emboss_reserved_local_size);
}
} // namespace Complex
template <class View>
struct EmbossReservedInternalIsGenericComplexView;
template <class Storage>
class GenericComplexView final {
public:
GenericComplexView() : backing_() {}
explicit GenericComplexView(Storage emboss_reserved_local_bytes)
: backing_(emboss_reserved_local_bytes) {}
template <typename OtherStorage>
GenericComplexView(
const GenericComplexView<OtherStorage>& emboss_reserved_local_other)
: backing_{emboss_reserved_local_other.BackingStorage()} {}
template <
typename Arg,
typename = typename ::std::enable_if<
!EmbossReservedInternalIsGenericComplexView<typename ::std::remove_cv<
typename ::std::remove_reference<Arg>::type>::type>::value>::type>
explicit GenericComplexView(Arg&& emboss_reserved_local_arg)
: backing_(::std::forward<Arg>(emboss_reserved_local_arg)) {}
template <typename Arg0, typename Arg1, typename... Args>
explicit GenericComplexView(Arg0&& emboss_reserved_local_arg0,
Arg1&& emboss_reserved_local_arg1,
Args&&... emboss_reserved_local_args)
: backing_(::std::forward<Arg0>(emboss_reserved_local_arg0),
::std::forward<Arg1>(emboss_reserved_local_arg1),
::std::forward<Args>(emboss_reserved_local_args)...) {}
template <typename OtherStorage>
GenericComplexView<Storage>& operator=(
const GenericComplexView<OtherStorage>& emboss_reserved_local_other) {
backing_ = emboss_reserved_local_other.BackingStorage();
return *this;
}
bool Ok() const {
if (!IsComplete()) return false;
if (!has_s().Known()) return false;
if (has_s().ValueOrDefault() && !s().Ok()) return false;
if (!has_u().Known()) return false;
if (has_u().ValueOrDefault() && !u().Ok()) return false;
if (!has_i().Known()) return false;
if (has_i().ValueOrDefault() && !i().Ok()) return false;
if (!has_b().Known()) return false;
if (has_b().ValueOrDefault() && !b().Ok()) return false;
if (!has_a().Known()) return false;
if (has_a().ValueOrDefault() && !a().Ok()) return false;
if (!has_emboss_reserved_anonymous_field_1().Known()) return false;
if (has_emboss_reserved_anonymous_field_1().ValueOrDefault() &&
!emboss_reserved_anonymous_field_1().Ok())
return false;
if (!has_e1().Known()) return false;
if (has_e1().ValueOrDefault() && !e1().Ok()) return false;
if (!has_IntrinsicSizeInBytes().Known()) return false;
if (has_IntrinsicSizeInBytes().ValueOrDefault() &&
!IntrinsicSizeInBytes().Ok())
return false;
if (!has_MaxSizeInBytes().Known()) return false;
if (has_MaxSizeInBytes().ValueOrDefault() && !MaxSizeInBytes().Ok())
return false;
if (!has_MinSizeInBytes().Known()) return false;
if (has_MinSizeInBytes().ValueOrDefault() && !MinSizeInBytes().Ok())
return false;
if (!has_a0().Known()) return false;
if (has_a0().ValueOrDefault() && !a0().Ok()) return false;
if (!has_s0().Known()) return false;
if (has_s0().ValueOrDefault() && !s0().Ok()) return false;
if (!has_l0().Known()) return false;
if (has_l0().ValueOrDefault() && !l0().Ok()) return false;
if (!has_h0().Known()) return false;
if (has_h0().ValueOrDefault() && !h0().Ok()) return false;
if (!has_e2().Known()) return false;
if (has_e2().ValueOrDefault() && !e2().Ok()) return false;
if (!has_b2().Known()) return false;
if (has_b2().ValueOrDefault() && !b2().Ok()) return false;
if (!has_e3().Known()) return false;
if (has_e3().ValueOrDefault() && !e3().Ok()) return false;
if (!has_e4().Known()) return false;
if (has_e4().ValueOrDefault() && !e4().Ok()) return false;
if (!has_e5().Known()) return false;
if (has_e5().ValueOrDefault() && !e5().Ok()) return false;
if (!has_e0().Known()) return false;
if (has_e0().ValueOrDefault() && !e0().Ok()) return false;
return true;
}
Storage BackingStorage() const { return backing_; }
bool IsComplete() const {
return backing_.Ok() && IntrinsicSizeInBytes().Ok() &&
backing_.SizeInBytes() >=
static_cast</**/ ::std::size_t>(
IntrinsicSizeInBytes().UncheckedRead());
}
::std::size_t SizeInBytes() const {
return static_cast</**/ ::std::size_t>(IntrinsicSizeInBytes().Read());
}
bool SizeIsKnown() const { return IntrinsicSizeInBytes().Ok(); }
template <typename OtherStorage>
bool Equals(
GenericComplexView<OtherStorage> emboss_reserved_local_other) const {
if (!has_s().Known()) return false;
if (!emboss_reserved_local_other.has_s().Known()) return false;
if (emboss_reserved_local_other.has_s().ValueOrDefault() &&
!has_s().ValueOrDefault())
return false;
if (has_s().ValueOrDefault() &&
!emboss_reserved_local_other.has_s().ValueOrDefault())
return false;
if (emboss_reserved_local_other.has_s().ValueOrDefault() &&
has_s().ValueOrDefault() &&
!s().Equals(emboss_reserved_local_other.s()))
return false;
if (!has_u().Known()) return false;
if (!emboss_reserved_local_other.has_u().Known()) return false;
if (emboss_reserved_local_other.has_u().ValueOrDefault() &&
!has_u().ValueOrDefault())
return false;
if (has_u().ValueOrDefault() &&
!emboss_reserved_local_other.has_u().ValueOrDefault())
return false;
if (emboss_reserved_local_other.has_u().ValueOrDefault() &&
has_u().ValueOrDefault() &&
!u().Equals(emboss_reserved_local_other.u()))
return false;
if (!has_i().Known()) return false;
if (!emboss_reserved_local_other.has_i().Known()) return false;
if (emboss_reserved_local_other.has_i().ValueOrDefault() &&
!has_i().ValueOrDefault())
return false;
if (has_i().ValueOrDefault() &&
!emboss_reserved_local_other.has_i().ValueOrDefault())
return false;
if (emboss_reserved_local_other.has_i().ValueOrDefault() &&
has_i().ValueOrDefault() &&
!i().Equals(emboss_reserved_local_other.i()))
return false;
if (!has_b().Known()) return false;
if (!emboss_reserved_local_other.has_b().Known()) return false;
if (emboss_reserved_local_other.has_b().ValueOrDefault() &&
!has_b().ValueOrDefault())
return false;
if (has_b().ValueOrDefault() &&
!emboss_reserved_local_other.has_b().ValueOrDefault())
return false;
if (emboss_reserved_local_other.has_b().ValueOrDefault() &&
has_b().ValueOrDefault() &&
!b().Equals(emboss_reserved_local_other.b()))
return false;
if (!has_a().Known()) return false;
if (!emboss_reserved_local_other.has_a().Known()) return false;
if (emboss_reserved_local_other.has_a().ValueOrDefault() &&
!has_a().ValueOrDefault())
return false;
if (has_a().ValueOrDefault() &&
!emboss_reserved_local_other.has_a().ValueOrDefault())
return false;
if (emboss_reserved_local_other.has_a().ValueOrDefault() &&
has_a().ValueOrDefault() &&
!a().Equals(emboss_reserved_local_other.a()))
return false;
if (!has_emboss_reserved_anonymous_field_1().Known()) return false;
if (!emboss_reserved_local_other.has_emboss_reserved_anonymous_field_1()
.Known())
return false;
if (emboss_reserved_local_other.has_emboss_reserved_anonymous_field_1()
.ValueOrDefault() &&
!has_emboss_reserved_anonymous_field_1().ValueOrDefault())
return false;
if (has_emboss_reserved_anonymous_field_1().ValueOrDefault() &&
!emboss_reserved_local_other.has_emboss_reserved_anonymous_field_1()
.ValueOrDefault())
return false;
if (emboss_reserved_local_other.has_emboss_reserved_anonymous_field_1()
.ValueOrDefault() &&
has_emboss_reserved_anonymous_field_1().ValueOrDefault() &&
!emboss_reserved_anonymous_field_1().Equals(
emboss_reserved_local_other.emboss_reserved_anonymous_field_1()))
return false;
if (!has_e1().Known()) return false;
if (!emboss_reserved_local_other.has_e1().Known()) return false;
if (emboss_reserved_local_other.has_e1().ValueOrDefault() &&
!has_e1().ValueOrDefault())
return false;
if (has_e1().ValueOrDefault() &&
!emboss_reserved_local_other.has_e1().ValueOrDefault())
return false;
if (emboss_reserved_local_other.has_e1().ValueOrDefault() &&
has_e1().ValueOrDefault() &&
!e1().Equals(emboss_reserved_local_other.e1()))
return false;
if (!has_e2().Known()) return false;
if (!emboss_reserved_local_other.has_e2().Known()) return false;
if (emboss_reserved_local_other.has_e2().ValueOrDefault() &&
!has_e2().ValueOrDefault())
return false;
if (has_e2().ValueOrDefault() &&
!emboss_reserved_local_other.has_e2().ValueOrDefault())
return false;
if (emboss_reserved_local_other.has_e2().ValueOrDefault() &&
has_e2().ValueOrDefault() &&
!e2().Equals(emboss_reserved_local_other.e2()))
return false;
if (!has_b2().Known()) return false;
if (!emboss_reserved_local_other.has_b2().Known()) return false;
if (emboss_reserved_local_other.has_b2().ValueOrDefault() &&
!has_b2().ValueOrDefault())
return false;
if (has_b2().ValueOrDefault() &&
!emboss_reserved_local_other.has_b2().ValueOrDefault())
return false;
if (emboss_reserved_local_other.has_b2().ValueOrDefault() &&
has_b2().ValueOrDefault() &&
!b2().Equals(emboss_reserved_local_other.b2()))
return false;
if (!has_e3().Known()) return false;
if (!emboss_reserved_local_other.has_e3().Known()) return false;
if (emboss_reserved_local_other.has_e3().ValueOrDefault() &&
!has_e3().ValueOrDefault())
return false;
if (has_e3().ValueOrDefault() &&
!emboss_reserved_local_other.has_e3().ValueOrDefault())
return false;
if (emboss_reserved_local_other.has_e3().ValueOrDefault() &&
has_e3().ValueOrDefault() &&
!e3().Equals(emboss_reserved_local_other.e3()))
return false;
if (!has_e4().Known()) return false;
if (!emboss_reserved_local_other.has_e4().Known()) return false;
if (emboss_reserved_local_other.has_e4().ValueOrDefault() &&
!has_e4().ValueOrDefault())
return false;
if (has_e4().ValueOrDefault() &&
!emboss_reserved_local_other.has_e4().ValueOrDefault())
return false;
if (emboss_reserved_local_other.has_e4().ValueOrDefault() &&
has_e4().ValueOrDefault() &&
!e4().Equals(emboss_reserved_local_other.e4()))
return false;
if (!has_e5().Known()) return false;
if (!emboss_reserved_local_other.has_e5().Known()) return false;
if (emboss_reserved_local_other.has_e5().ValueOrDefault() &&
!has_e5().ValueOrDefault())
return false;
if (has_e5().ValueOrDefault() &&
!emboss_reserved_local_other.has_e5().ValueOrDefault())
return false;
if (emboss_reserved_local_other.has_e5().ValueOrDefault() &&
has_e5().ValueOrDefault() &&
!e5().Equals(emboss_reserved_local_other.e5()))
return false;
if (!has_e0().Known()) return false;
if (!emboss_reserved_local_other.has_e0().Known()) return false;
if (emboss_reserved_local_other.has_e0().ValueOrDefault() &&
!has_e0().ValueOrDefault())
return false;
if (has_e0().ValueOrDefault() &&
!emboss_reserved_local_other.has_e0().ValueOrDefault())
return false;
if (emboss_reserved_local_other.has_e0().ValueOrDefault() &&
has_e0().ValueOrDefault() &&
!e0().Equals(emboss_reserved_local_other.e0()))
return false;
return true;
}
template <typename OtherStorage>
bool UncheckedEquals(
GenericComplexView<OtherStorage> emboss_reserved_local_other) const {
if (emboss_reserved_local_other.has_s().ValueOr(false) &&
!has_s().ValueOr(false))
return false;
if (has_s().ValueOr(false) &&
!emboss_reserved_local_other.has_s().ValueOr(false))
return false;
if (emboss_reserved_local_other.has_s().ValueOr(false) &&
has_s().ValueOr(false) &&
!s().UncheckedEquals(emboss_reserved_local_other.s()))
return false;
if (emboss_reserved_local_other.has_u().ValueOr(false) &&
!has_u().ValueOr(false))
return false;
if (has_u().ValueOr(false) &&
!emboss_reserved_local_other.has_u().ValueOr(false))
return false;
if (emboss_reserved_local_other.has_u().ValueOr(false) &&
has_u().ValueOr(false) &&
!u().UncheckedEquals(emboss_reserved_local_other.u()))
return false;
if (emboss_reserved_local_other.has_i().ValueOr(false) &&
!has_i().ValueOr(false))
return false;
if (has_i().ValueOr(false) &&
!emboss_reserved_local_other.has_i().ValueOr(false))
return false;
if (emboss_reserved_local_other.has_i().ValueOr(false) &&
has_i().ValueOr(false) &&
!i().UncheckedEquals(emboss_reserved_local_other.i()))
return false;
if (emboss_reserved_local_other.has_b().ValueOr(false) &&
!has_b().ValueOr(false))
return false;
if (has_b().ValueOr(false) &&
!emboss_reserved_local_other.has_b().ValueOr(false))
return false;
if (emboss_reserved_local_other.has_b().ValueOr(false) &&
has_b().ValueOr(false) &&
!b().UncheckedEquals(emboss_reserved_local_other.b()))
return false;
if (emboss_reserved_local_other.has_a().ValueOr(false) &&
!has_a().ValueOr(false))
return false;
if (has_a().ValueOr(false) &&
!emboss_reserved_local_other.has_a().ValueOr(false))
return false;
if (emboss_reserved_local_other.has_a().ValueOr(false) &&
has_a().ValueOr(false) &&
!a().UncheckedEquals(emboss_reserved_local_other.a()))
return false;
if (emboss_reserved_local_other.has_emboss_reserved_anonymous_field_1()
.ValueOr(false) &&
!has_emboss_reserved_anonymous_field_1().ValueOr(false))
return false;
if (has_emboss_reserved_anonymous_field_1().ValueOr(false) &&
!emboss_reserved_local_other.has_emboss_reserved_anonymous_field_1()
.ValueOr(false))
return false;
if (emboss_reserved_local_other.has_emboss_reserved_anonymous_field_1()
.ValueOr(false) &&
has_emboss_reserved_anonymous_field_1().ValueOr(false) &&
!emboss_reserved_anonymous_field_1().UncheckedEquals(
emboss_reserved_local_other.emboss_reserved_anonymous_field_1()))
return false;
if (emboss_reserved_local_other.has_e1().ValueOr(false) &&
!has_e1().ValueOr(false))
return false;
if (has_e1().ValueOr(false) &&
!emboss_reserved_local_other.has_e1().ValueOr(false))
return false;
if (emboss_reserved_local_other.has_e1().ValueOr(false) &&
has_e1().ValueOr(false) &&
!e1().UncheckedEquals(emboss_reserved_local_other.e1()))
return false;
if (emboss_reserved_local_other.has_e2().ValueOr(false) &&
!has_e2().ValueOr(false))
return false;
if (has_e2().ValueOr(false) &&
!emboss_reserved_local_other.has_e2().ValueOr(false))
return false;
if (emboss_reserved_local_other.has_e2().ValueOr(false) &&
has_e2().ValueOr(false) &&
!e2().UncheckedEquals(emboss_reserved_local_other.e2()))
return false;
if (emboss_reserved_local_other.has_b2().ValueOr(false) &&
!has_b2().ValueOr(false))
return false;
if (has_b2().ValueOr(false) &&
!emboss_reserved_local_other.has_b2().ValueOr(false))
return false;
if (emboss_reserved_local_other.has_b2().ValueOr(false) &&
has_b2().ValueOr(false) &&
!b2().UncheckedEquals(emboss_reserved_local_other.b2()))
return false;
if (emboss_reserved_local_other.has_e3().ValueOr(false) &&
!has_e3().ValueOr(false))
return false;
if (has_e3().ValueOr(false) &&
!emboss_reserved_local_other.has_e3().ValueOr(false))
return false;
if (emboss_reserved_local_other.has_e3().ValueOr(false) &&
has_e3().ValueOr(false) &&
!e3().UncheckedEquals(emboss_reserved_local_other.e3()))
return false;
if (emboss_reserved_local_other.has_e4().ValueOr(false) &&
!has_e4().ValueOr(false))
return false;
if (has_e4().ValueOr(false) &&
!emboss_reserved_local_other.has_e4().ValueOr(false))
return false;
if (emboss_reserved_local_other.has_e4().ValueOr(false) &&
has_e4().ValueOr(false) &&
!e4().UncheckedEquals(emboss_reserved_local_other.e4()))
return false;
if (emboss_reserved_local_other.has_e5().ValueOr(false) &&
!has_e5().ValueOr(false))
return false;
if (has_e5().ValueOr(false) &&
!emboss_reserved_local_other.has_e5().ValueOr(false))
return false;
if (emboss_reserved_local_other.has_e5().ValueOr(false) &&
has_e5().ValueOr(false) &&
!e5().UncheckedEquals(emboss_reserved_local_other.e5()))
return false;
if (emboss_reserved_local_other.has_e0().ValueOr(false) &&
!has_e0().ValueOr(false))
return false;
if (has_e0().ValueOr(false) &&
!emboss_reserved_local_other.has_e0().ValueOr(false))
return false;
if (emboss_reserved_local_other.has_e0().ValueOr(false) &&
has_e0().ValueOr(false) &&
!e0().UncheckedEquals(emboss_reserved_local_other.e0()))
return false;
return true;
}
template <typename OtherStorage>
void UncheckedCopyFrom(
GenericComplexView<OtherStorage> emboss_reserved_local_other) const {
backing_.UncheckedCopyFrom(
emboss_reserved_local_other.BackingStorage(),
emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead());
}
template <typename OtherStorage>
void CopyFrom(
GenericComplexView<OtherStorage> emboss_reserved_local_other) const {
backing_.CopyFrom(
emboss_reserved_local_other.BackingStorage(),
emboss_reserved_local_other.IntrinsicSizeInBytes().Read());
}
template <typename OtherStorage>
bool TryToCopyFrom(
GenericComplexView<OtherStorage> emboss_reserved_local_other) const {
return emboss_reserved_local_other.Ok() &&
backing_.TryToCopyFrom(
emboss_reserved_local_other.BackingStorage(),
emboss_reserved_local_other.IntrinsicSizeInBytes().Read());
}
template <class Stream>
bool UpdateFromTextStream(Stream* emboss_reserved_local_stream) const {
::std::string emboss_reserved_local_brace;
if (!::emboss::support::ReadToken(emboss_reserved_local_stream,
&emboss_reserved_local_brace))
return false;
if (emboss_reserved_local_brace != "{") return false;
for (;;) {
::std::string emboss_reserved_local_name;
if (!::emboss::support::ReadToken(emboss_reserved_local_stream,
&emboss_reserved_local_name))
return false;
if (emboss_reserved_local_name == ",")
if (!::emboss::support::ReadToken(emboss_reserved_local_stream,
&emboss_reserved_local_name))
return false;
if (emboss_reserved_local_name == "}") return true;
::std::string emboss_reserved_local_colon;
if (!::emboss::support::ReadToken(emboss_reserved_local_stream,
&emboss_reserved_local_colon))
return false;
if (emboss_reserved_local_colon != ":") return false;
if (emboss_reserved_local_name == "s") {
if (!s().UpdateFromTextStream(emboss_reserved_local_stream)) {
return false;
}
continue;
}
if (emboss_reserved_local_name == "u") {
if (!u().UpdateFromTextStream(emboss_reserved_local_stream)) {
return false;
}
continue;
}
if (emboss_reserved_local_name == "i") {
if (!i().UpdateFromTextStream(emboss_reserved_local_stream)) {
return false;
}
continue;
}
if (emboss_reserved_local_name == "b") {
if (!b().UpdateFromTextStream(emboss_reserved_local_stream)) {
return false;
}
continue;
}
if (emboss_reserved_local_name == "a") {
if (!a().UpdateFromTextStream(emboss_reserved_local_stream)) {
return false;
}
continue;
}
if (emboss_reserved_local_name == "a0") {
if (!a0().UpdateFromTextStream(emboss_reserved_local_stream)) {
return false;
}
continue;
}
if (emboss_reserved_local_name == "s0") {
if (!s0().UpdateFromTextStream(emboss_reserved_local_stream)) {
return false;
}
continue;
}
if (emboss_reserved_local_name == "l0") {
if (!l0().UpdateFromTextStream(emboss_reserved_local_stream)) {
return false;
}
continue;
}
if (emboss_reserved_local_name == "h0") {
if (!h0().UpdateFromTextStream(emboss_reserved_local_stream)) {
return false;
}
continue;
}
if (emboss_reserved_local_name == "e1") {
if (!e1().UpdateFromTextStream(emboss_reserved_local_stream)) {
return false;
}
continue;
}
if (emboss_reserved_local_name == "e2") {
if (!e2().UpdateFromTextStream(emboss_reserved_local_stream)) {
return false;
}
continue;
}
if (emboss_reserved_local_name == "b2") {
if (!b2().UpdateFromTextStream(emboss_reserved_local_stream)) {
return false;
}
continue;
}
if (emboss_reserved_local_name == "e3") {
if (!e3().UpdateFromTextStream(emboss_reserved_local_stream)) {
return false;
}
continue;
}
if (emboss_reserved_local_name == "e4") {
if (!e4().UpdateFromTextStream(emboss_reserved_local_stream)) {
return false;
}
continue;
}
if (emboss_reserved_local_name == "e5") {
if (!e5().UpdateFromTextStream(emboss_reserved_local_stream)) {
return false;
}
continue;
}
if (emboss_reserved_local_name == "e0") {
if (!e0().UpdateFromTextStream(emboss_reserved_local_stream)) {
return false;
}
continue;
}
return false;
}
}
template <class Stream>
void WriteToTextStream(
Stream* emboss_reserved_local_stream,
::emboss::TextOutputOptions emboss_reserved_local_options) const {
::emboss::TextOutputOptions emboss_reserved_local_field_options =
emboss_reserved_local_options.PlusOneIndent();
if (emboss_reserved_local_options.multiline()) {
emboss_reserved_local_stream->Write("{\n");
} else {
emboss_reserved_local_stream->Write("{");
}
bool emboss_reserved_local_wrote_field = false;
if (has_s().ValueOr(false)) {
if (!emboss_reserved_local_field_options.allow_partial_output() ||
s().IsAggregate() || s().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
} else {
if (emboss_reserved_local_wrote_field) {
emboss_reserved_local_stream->Write(",");
}
emboss_reserved_local_stream->Write(" ");
}
emboss_reserved_local_stream->Write("s: ");
s().WriteToTextStream(emboss_reserved_local_stream,
emboss_reserved_local_field_options);
emboss_reserved_local_wrote_field = true;
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write("\n");
}
} else if (emboss_reserved_local_field_options.allow_partial_output() &&
emboss_reserved_local_field_options.comments() &&
!s().IsAggregate() && !s().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
}
emboss_reserved_local_stream->Write("# s: UNREADABLE\n");
}
}
if (has_u().ValueOr(false)) {
if (!emboss_reserved_local_field_options.allow_partial_output() ||
u().IsAggregate() || u().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
} else {
if (emboss_reserved_local_wrote_field) {
emboss_reserved_local_stream->Write(",");
}
emboss_reserved_local_stream->Write(" ");
}
emboss_reserved_local_stream->Write("u: ");
u().WriteToTextStream(emboss_reserved_local_stream,
emboss_reserved_local_field_options);
emboss_reserved_local_wrote_field = true;
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write("\n");
}
} else if (emboss_reserved_local_field_options.allow_partial_output() &&
emboss_reserved_local_field_options.comments() &&
!u().IsAggregate() && !u().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
}
emboss_reserved_local_stream->Write("# u: UNREADABLE\n");
}
}
if (has_i().ValueOr(false)) {
if (!emboss_reserved_local_field_options.allow_partial_output() ||
i().IsAggregate() || i().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
} else {
if (emboss_reserved_local_wrote_field) {
emboss_reserved_local_stream->Write(",");
}
emboss_reserved_local_stream->Write(" ");
}
emboss_reserved_local_stream->Write("i: ");
i().WriteToTextStream(emboss_reserved_local_stream,
emboss_reserved_local_field_options);
emboss_reserved_local_wrote_field = true;
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write("\n");
}
} else if (emboss_reserved_local_field_options.allow_partial_output() &&
emboss_reserved_local_field_options.comments() &&
!i().IsAggregate() && !i().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
}
emboss_reserved_local_stream->Write("# i: UNREADABLE\n");
}
}
if (has_b().ValueOr(false)) {
if (!emboss_reserved_local_field_options.allow_partial_output() ||
b().IsAggregate() || b().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
} else {
if (emboss_reserved_local_wrote_field) {
emboss_reserved_local_stream->Write(",");
}
emboss_reserved_local_stream->Write(" ");
}
emboss_reserved_local_stream->Write("b: ");
b().WriteToTextStream(emboss_reserved_local_stream,
emboss_reserved_local_field_options);
emboss_reserved_local_wrote_field = true;
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write("\n");
}
} else if (emboss_reserved_local_field_options.allow_partial_output() &&
emboss_reserved_local_field_options.comments() &&
!b().IsAggregate() && !b().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
}
emboss_reserved_local_stream->Write("# b: UNREADABLE\n");
}
}
if (has_a().ValueOr(false)) {
if (!emboss_reserved_local_field_options.allow_partial_output() ||
a().IsAggregate() || a().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
} else {
if (emboss_reserved_local_wrote_field) {
emboss_reserved_local_stream->Write(",");
}
emboss_reserved_local_stream->Write(" ");
}
emboss_reserved_local_stream->Write("a: ");
a().WriteToTextStream(emboss_reserved_local_stream,
emboss_reserved_local_field_options);
emboss_reserved_local_wrote_field = true;
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write("\n");
}
} else if (emboss_reserved_local_field_options.allow_partial_output() &&
emboss_reserved_local_field_options.comments() &&
!a().IsAggregate() && !a().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
}
emboss_reserved_local_stream->Write("# a: UNREADABLE\n");
}
}
if (has_a0().ValueOr(false)) {
if (!emboss_reserved_local_field_options.allow_partial_output() ||
a0().IsAggregate() || a0().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
} else {
if (emboss_reserved_local_wrote_field) {
emboss_reserved_local_stream->Write(",");
}
emboss_reserved_local_stream->Write(" ");
}
emboss_reserved_local_stream->Write("a0: ");
a0().WriteToTextStream(emboss_reserved_local_stream,
emboss_reserved_local_field_options);
emboss_reserved_local_wrote_field = true;
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write("\n");
}
} else if (emboss_reserved_local_field_options.allow_partial_output() &&
emboss_reserved_local_field_options.comments() &&
!a0().IsAggregate() && !a0().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
}
emboss_reserved_local_stream->Write("# a0: UNREADABLE\n");
}
}
if (has_s0().ValueOr(false)) {
if (!emboss_reserved_local_field_options.allow_partial_output() ||
s0().IsAggregate() || s0().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
} else {
if (emboss_reserved_local_wrote_field) {
emboss_reserved_local_stream->Write(",");
}
emboss_reserved_local_stream->Write(" ");
}
emboss_reserved_local_stream->Write("s0: ");
s0().WriteToTextStream(emboss_reserved_local_stream,
emboss_reserved_local_field_options);
emboss_reserved_local_wrote_field = true;
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write("\n");
}
} else if (emboss_reserved_local_field_options.allow_partial_output() &&
emboss_reserved_local_field_options.comments() &&
!s0().IsAggregate() && !s0().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
}
emboss_reserved_local_stream->Write("# s0: UNREADABLE\n");
}
}
if (has_l0().ValueOr(false)) {
if (!emboss_reserved_local_field_options.allow_partial_output() ||
l0().IsAggregate() || l0().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
} else {
if (emboss_reserved_local_wrote_field) {
emboss_reserved_local_stream->Write(",");
}
emboss_reserved_local_stream->Write(" ");
}
emboss_reserved_local_stream->Write("l0: ");
l0().WriteToTextStream(emboss_reserved_local_stream,
emboss_reserved_local_field_options);
emboss_reserved_local_wrote_field = true;
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write("\n");
}
} else if (emboss_reserved_local_field_options.allow_partial_output() &&
emboss_reserved_local_field_options.comments() &&
!l0().IsAggregate() && !l0().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
}
emboss_reserved_local_stream->Write("# l0: UNREADABLE\n");
}
}
if (has_h0().ValueOr(false)) {
if (!emboss_reserved_local_field_options.allow_partial_output() ||
h0().IsAggregate() || h0().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
} else {
if (emboss_reserved_local_wrote_field) {
emboss_reserved_local_stream->Write(",");
}
emboss_reserved_local_stream->Write(" ");
}
emboss_reserved_local_stream->Write("h0: ");
h0().WriteToTextStream(emboss_reserved_local_stream,
emboss_reserved_local_field_options);
emboss_reserved_local_wrote_field = true;
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write("\n");
}
} else if (emboss_reserved_local_field_options.allow_partial_output() &&
emboss_reserved_local_field_options.comments() &&
!h0().IsAggregate() && !h0().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
}
emboss_reserved_local_stream->Write("# h0: UNREADABLE\n");
}
}
if (has_e1().ValueOr(false)) {
if (!emboss_reserved_local_field_options.allow_partial_output() ||
e1().IsAggregate() || e1().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
} else {
if (emboss_reserved_local_wrote_field) {
emboss_reserved_local_stream->Write(",");
}
emboss_reserved_local_stream->Write(" ");
}
emboss_reserved_local_stream->Write("e1: ");
e1().WriteToTextStream(emboss_reserved_local_stream,
emboss_reserved_local_field_options);
emboss_reserved_local_wrote_field = true;
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write("\n");
}
} else if (emboss_reserved_local_field_options.allow_partial_output() &&
emboss_reserved_local_field_options.comments() &&
!e1().IsAggregate() && !e1().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
}
emboss_reserved_local_stream->Write("# e1: UNREADABLE\n");
}
}
if (has_e2().ValueOr(false)) {
if (!emboss_reserved_local_field_options.allow_partial_output() ||
e2().IsAggregate() || e2().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
} else {
if (emboss_reserved_local_wrote_field) {
emboss_reserved_local_stream->Write(",");
}
emboss_reserved_local_stream->Write(" ");
}
emboss_reserved_local_stream->Write("e2: ");
e2().WriteToTextStream(emboss_reserved_local_stream,
emboss_reserved_local_field_options);
emboss_reserved_local_wrote_field = true;
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write("\n");
}
} else if (emboss_reserved_local_field_options.allow_partial_output() &&
emboss_reserved_local_field_options.comments() &&
!e2().IsAggregate() && !e2().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
}
emboss_reserved_local_stream->Write("# e2: UNREADABLE\n");
}
}
if (has_b2().ValueOr(false)) {
if (!emboss_reserved_local_field_options.allow_partial_output() ||
b2().IsAggregate() || b2().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
} else {
if (emboss_reserved_local_wrote_field) {
emboss_reserved_local_stream->Write(",");
}
emboss_reserved_local_stream->Write(" ");
}
emboss_reserved_local_stream->Write("b2: ");
b2().WriteToTextStream(emboss_reserved_local_stream,
emboss_reserved_local_field_options);
emboss_reserved_local_wrote_field = true;
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write("\n");
}
} else if (emboss_reserved_local_field_options.allow_partial_output() &&
emboss_reserved_local_field_options.comments() &&
!b2().IsAggregate() && !b2().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
}
emboss_reserved_local_stream->Write("# b2: UNREADABLE\n");
}
}
if (has_e3().ValueOr(false)) {
if (!emboss_reserved_local_field_options.allow_partial_output() ||
e3().IsAggregate() || e3().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
} else {
if (emboss_reserved_local_wrote_field) {
emboss_reserved_local_stream->Write(",");
}
emboss_reserved_local_stream->Write(" ");
}
emboss_reserved_local_stream->Write("e3: ");
e3().WriteToTextStream(emboss_reserved_local_stream,
emboss_reserved_local_field_options);
emboss_reserved_local_wrote_field = true;
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write("\n");
}
} else if (emboss_reserved_local_field_options.allow_partial_output() &&
emboss_reserved_local_field_options.comments() &&
!e3().IsAggregate() && !e3().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
}
emboss_reserved_local_stream->Write("# e3: UNREADABLE\n");
}
}
if (has_e4().ValueOr(false)) {
if (!emboss_reserved_local_field_options.allow_partial_output() ||
e4().IsAggregate() || e4().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
} else {
if (emboss_reserved_local_wrote_field) {
emboss_reserved_local_stream->Write(",");
}
emboss_reserved_local_stream->Write(" ");
}
emboss_reserved_local_stream->Write("e4: ");
e4().WriteToTextStream(emboss_reserved_local_stream,
emboss_reserved_local_field_options);
emboss_reserved_local_wrote_field = true;
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write("\n");
}
} else if (emboss_reserved_local_field_options.allow_partial_output() &&
emboss_reserved_local_field_options.comments() &&
!e4().IsAggregate() && !e4().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
}
emboss_reserved_local_stream->Write("# e4: UNREADABLE\n");
}
}
if (has_e5().ValueOr(false)) {
if (!emboss_reserved_local_field_options.allow_partial_output() ||
e5().IsAggregate() || e5().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
} else {
if (emboss_reserved_local_wrote_field) {
emboss_reserved_local_stream->Write(",");
}
emboss_reserved_local_stream->Write(" ");
}
emboss_reserved_local_stream->Write("e5: ");
e5().WriteToTextStream(emboss_reserved_local_stream,
emboss_reserved_local_field_options);
emboss_reserved_local_wrote_field = true;
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write("\n");
}
} else if (emboss_reserved_local_field_options.allow_partial_output() &&
emboss_reserved_local_field_options.comments() &&
!e5().IsAggregate() && !e5().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
}
emboss_reserved_local_stream->Write("# e5: UNREADABLE\n");
}
}
if (has_e0().ValueOr(false)) {
if (!emboss_reserved_local_field_options.allow_partial_output() ||
e0().IsAggregate() || e0().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
} else {
if (emboss_reserved_local_wrote_field) {
emboss_reserved_local_stream->Write(",");
}
emboss_reserved_local_stream->Write(" ");
}
emboss_reserved_local_stream->Write("e0: ");
e0().WriteToTextStream(emboss_reserved_local_stream,
emboss_reserved_local_field_options);
emboss_reserved_local_wrote_field = true;
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write("\n");
}
} else if (emboss_reserved_local_field_options.allow_partial_output() &&
emboss_reserved_local_field_options.comments() &&
!e0().IsAggregate() && !e0().Ok()) {
if (emboss_reserved_local_field_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_field_options.current_indent());
}
emboss_reserved_local_stream->Write("# e0: UNREADABLE\n");
}
}
(void)emboss_reserved_local_wrote_field;
if (emboss_reserved_local_options.multiline()) {
emboss_reserved_local_stream->Write(
emboss_reserved_local_options.current_indent());
emboss_reserved_local_stream->Write("}");
} else {
emboss_reserved_local_stream->Write(" }");
}
}
static constexpr bool IsAggregate() { return true; }
public:
typename ::emboss::prelude::UIntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 0>>,
8>>
s() const;
::emboss::support::Maybe<bool> has_s() const;
public:
typename ::emboss::prelude::UIntView<
/**/ ::emboss::support::FixedSizeViewParameters<
64, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 1>>,
64>>
u() const;
::emboss::support::Maybe<bool> has_u() const;
public:
typename ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
64, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 1>>,
64>>
i() const;
::emboss::support::Maybe<bool> has_i() const;
public:
typename ::emboss::prelude::BcdView<
/**/ ::emboss::support::FixedSizeViewParameters<
64, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 1>>,
64>>
b() const;
::emboss::support::Maybe<bool> has_b() const;
public:
typename ::emboss::support::GenericArrayView<
typename ::emboss::support::GenericArrayView<
typename ::emboss_test::GenericArrayElementView<
typename Storage::template OffsetStorageType<
/**/ 0, 1>::template OffsetStorageType</**/ 4, 0>::
template OffsetStorageType</**/ 1, 0>>
,
typename Storage::template OffsetStorageType<
/**/ 0, 1>::template OffsetStorageType</**/ 4, 0>,
1, 8>
,
typename Storage::template OffsetStorageType</**/ 0, 1>, 4, 8>
a() const;
::emboss::support::Maybe<bool> has_a() const;
private:
typename ::emboss_test::Complex::GenericEmbossReservedAnonymousField1View<
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 1>>,
8>>
emboss_reserved_anonymous_field_1() const;
::emboss::support::Maybe<bool> has_emboss_reserved_anonymous_field_1() const;
public:
auto a0() const -> decltype(this->emboss_reserved_anonymous_field_1().a0()) {
return has_a0().ValueOrDefault()
? emboss_reserved_anonymous_field_1().a0()
: decltype(this->emboss_reserved_anonymous_field_1().a0())();
}
::emboss::support::Maybe<bool> has_a0() const;
public:
auto s0() const -> decltype(this->emboss_reserved_anonymous_field_1().s0()) {
return has_s0().ValueOrDefault()
? emboss_reserved_anonymous_field_1().s0()
: decltype(this->emboss_reserved_anonymous_field_1().s0())();
}
::emboss::support::Maybe<bool> has_s0() const;
public:
auto l0() const -> decltype(this->emboss_reserved_anonymous_field_1().l0()) {
return has_l0().ValueOrDefault()
? emboss_reserved_anonymous_field_1().l0()
: decltype(this->emboss_reserved_anonymous_field_1().l0())();
}
::emboss::support::Maybe<bool> has_l0() const;
public:
auto h0() const -> decltype(this->emboss_reserved_anonymous_field_1().h0()) {
return has_h0().ValueOrDefault()
? emboss_reserved_anonymous_field_1().h0()
: decltype(this->emboss_reserved_anonymous_field_1().h0())();
}
::emboss::support::Maybe<bool> has_h0() const;
public:
typename ::emboss_test::GenericArrayElementView<
typename Storage::template OffsetStorageType</**/ 0, 2>>
e1() const;
::emboss::support::Maybe<bool> has_e1() const;
public:
typename ::emboss_test::GenericArrayElementView<
typename Storage::template OffsetStorageType</**/ 0, 3>>
e2() const;
::emboss::support::Maybe<bool> has_e2() const;
public:
typename ::emboss::prelude::BcdView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 3>>,
8>>
b2() const;
::emboss::support::Maybe<bool> has_b2() const;
public:
typename ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 4>>,
8>>
e3() const;
::emboss::support::Maybe<bool> has_e3() const;
public:
typename ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 5>>,
8>>
e4() const;
::emboss::support::Maybe<bool> has_e4() const;
public:
typename ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 6>>,
8>>
e5() const;
::emboss::support::Maybe<bool> has_e5() const;
public:
typename ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 1>>,
8>>
e0() const;
::emboss::support::Maybe<bool> has_e0() const;
public:
class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final {
public:
using ValueType = ::std::int32_t;
explicit EmbossReservedDollarVirtualIntrinsicSizeInBytesView(
const GenericComplexView& emboss_reserved_local_view)
: view_(emboss_reserved_local_view) {}
EmbossReservedDollarVirtualIntrinsicSizeInBytesView() = delete;
EmbossReservedDollarVirtualIntrinsicSizeInBytesView(
const EmbossReservedDollarVirtualIntrinsicSizeInBytesView&) = default;
EmbossReservedDollarVirtualIntrinsicSizeInBytesView(
EmbossReservedDollarVirtualIntrinsicSizeInBytesView&&) = default;
EmbossReservedDollarVirtualIntrinsicSizeInBytesView& operator=(
const EmbossReservedDollarVirtualIntrinsicSizeInBytesView&) = default;
EmbossReservedDollarVirtualIntrinsicSizeInBytesView& operator=(
EmbossReservedDollarVirtualIntrinsicSizeInBytesView&&) = default;
~EmbossReservedDollarVirtualIntrinsicSizeInBytesView() = default;
::std::int32_t Read() const {
EMBOSS_CHECK(view_.has_IntrinsicSizeInBytes().ValueOr(false));
auto emboss_reserved_local_value = MaybeRead();
EMBOSS_CHECK(emboss_reserved_local_value.Known());
EMBOSS_CHECK(ValueIsOk(emboss_reserved_local_value.ValueOrDefault()));
return emboss_reserved_local_value.ValueOrDefault();
}
::std::int32_t UncheckedRead() const {
return MaybeRead().ValueOrDefault();
}
bool Ok() const {
auto emboss_reserved_local_value = MaybeRead();
return emboss_reserved_local_value.Known() &&
ValueIsOk(emboss_reserved_local_value.ValueOrDefault());
}
template <class Stream>
void WriteToTextStream(Stream* emboss_reserved_local_stream,
const ::emboss::TextOutputOptions&
emboss_reserved_local_options) const {
::emboss::support::WriteIntegerViewToTextStream(
this, emboss_reserved_local_stream, emboss_reserved_local_options);
}
static constexpr bool IsAggregate() { return false; }
private:
::emboss::support::Maybe</**/ ::std::int32_t> MaybeRead() const {
const auto emboss_reserved_local_subexpr_1 = view_.s();
const auto emboss_reserved_local_subexpr_2 =
(emboss_reserved_local_subexpr_1.Ok()
? ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(
emboss_reserved_local_subexpr_1.UncheckedRead()))
: ::emboss::support::Maybe</**/ ::std::int32_t>());
const auto emboss_reserved_local_subexpr_3 =
::emboss::support::Product</**/ ::std::int32_t, ::std::int32_t,
::std::int32_t, ::std::int32_t>(
emboss_reserved_local_subexpr_2,
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(4LL)));
const auto emboss_reserved_local_subexpr_4 =
::emboss::support::Sum</**/ ::std::int32_t, ::std::int32_t,
::std::int32_t, ::std::int32_t>(
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(1LL)),
emboss_reserved_local_subexpr_3);
const auto emboss_reserved_local_subexpr_5 =
::emboss::support::Choice</**/ ::std::int32_t, ::std::int32_t, bool,
::std::int32_t, ::std::int32_t>(
::emboss::support::Maybe</**/ bool>(true),
emboss_reserved_local_subexpr_4,
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(0LL)));
const auto emboss_reserved_local_subexpr_6 = view_.a0();
const auto emboss_reserved_local_subexpr_7 =
(emboss_reserved_local_subexpr_6.Ok()
? ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(
emboss_reserved_local_subexpr_6.UncheckedRead()))
: ::emboss::support::Maybe</**/ ::std::int32_t>());
const auto emboss_reserved_local_subexpr_8 =
::emboss::support::GreaterThanOrEqual</**/ ::std::int32_t, bool,
::std::int32_t, ::std::int32_t>(
emboss_reserved_local_subexpr_7,
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(128LL)));
const auto emboss_reserved_local_subexpr_9 =
::emboss::support::Choice</**/ ::std::int32_t, ::std::int32_t, bool,
::std::int32_t, ::std::int32_t>(
emboss_reserved_local_subexpr_8,
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(4LL)),
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(0LL)));
const auto emboss_reserved_local_subexpr_10 =
::emboss::support::LessThan</**/ ::std::int32_t, bool, ::std::int32_t,
::std::int32_t>(
emboss_reserved_local_subexpr_7,
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(128LL)));
const auto emboss_reserved_local_subexpr_11 =
::emboss::support::Choice</**/ ::std::int32_t, ::std::int32_t, bool,
::std::int32_t, ::std::int32_t>(
emboss_reserved_local_subexpr_10,
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(4LL)),
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(0LL)));
const auto emboss_reserved_local_subexpr_12 = view_.b2();
const auto emboss_reserved_local_subexpr_13 =
(emboss_reserved_local_subexpr_12.Ok()
? ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(
emboss_reserved_local_subexpr_12.UncheckedRead()))
: ::emboss::support::Maybe</**/ ::std::int32_t>());
const auto emboss_reserved_local_subexpr_14 =
::emboss::support::GreaterThan</**/ ::std::int32_t, bool,
::std::int32_t, ::std::int32_t>(
emboss_reserved_local_subexpr_13,
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(25LL)));
const auto emboss_reserved_local_subexpr_15 =
::emboss::support::Choice</**/ ::std::int32_t, ::std::int32_t, bool,
::std::int32_t, ::std::int32_t>(
emboss_reserved_local_subexpr_14,
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(5LL)),
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(0LL)));
const auto emboss_reserved_local_subexpr_16 =
::emboss::support::GreaterThanOrEqual</**/ ::std::int32_t, bool,
::std::int32_t, ::std::int32_t>(
emboss_reserved_local_subexpr_2,
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(4LL)));
const auto emboss_reserved_local_subexpr_17 =
::emboss::support::GreaterThanOrEqual</**/ ::std::int32_t, bool,
::std::int32_t, ::std::int32_t>(
emboss_reserved_local_subexpr_7,
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(80LL)));
const auto emboss_reserved_local_subexpr_18 = view_.e3();
const auto emboss_reserved_local_subexpr_19 =
(emboss_reserved_local_subexpr_18.Ok()
? ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(
emboss_reserved_local_subexpr_18.UncheckedRead()))
: ::emboss::support::Maybe</**/ ::std::int32_t>());
const auto emboss_reserved_local_subexpr_20 =
::emboss::support::GreaterThanOrEqual</**/ ::std::int32_t, bool,
::std::int32_t, ::std::int32_t>(
emboss_reserved_local_subexpr_19,
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(128LL)));
const auto emboss_reserved_local_subexpr_21 =
::emboss::support::LessThan</**/ ::std::int32_t, bool, ::std::int32_t,
::std::int32_t>(
emboss_reserved_local_subexpr_13,
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(50LL)));
const auto emboss_reserved_local_subexpr_22 =
::emboss::support::Choice</**/ bool, bool, bool, bool, bool>(
emboss_reserved_local_subexpr_17,
emboss_reserved_local_subexpr_20,
emboss_reserved_local_subexpr_21);
const auto emboss_reserved_local_subexpr_23 =
::emboss::support::And</**/ bool, bool, bool, bool>(
emboss_reserved_local_subexpr_16,
emboss_reserved_local_subexpr_22);
const auto emboss_reserved_local_subexpr_24 =
::emboss::support::Choice</**/ ::std::int32_t, ::std::int32_t, bool,
::std::int32_t, ::std::int32_t>(
emboss_reserved_local_subexpr_23,
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(6LL)),
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(0LL)));
const auto emboss_reserved_local_subexpr_25 =
::emboss::support::GreaterThanOrEqual</**/ ::std::int32_t, bool,
::std::int32_t, ::std::int32_t>(
emboss_reserved_local_subexpr_2,
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(5LL)));
const auto emboss_reserved_local_subexpr_26 = view_.e4();
const auto emboss_reserved_local_subexpr_27 =
(emboss_reserved_local_subexpr_26.Ok()
? ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(
emboss_reserved_local_subexpr_26.UncheckedRead()))
: ::emboss::support::Maybe</**/ ::std::int32_t>());
const auto emboss_reserved_local_subexpr_28 =
::emboss::support::GreaterThan</**/ ::std::int32_t, bool,
::std::int32_t, ::std::int32_t>(
emboss_reserved_local_subexpr_27,
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(0LL)));
const auto emboss_reserved_local_subexpr_29 =
::emboss::support::And</**/ bool, bool, bool, bool>(
emboss_reserved_local_subexpr_25,
emboss_reserved_local_subexpr_28);
const auto emboss_reserved_local_subexpr_30 =
::emboss::support::Choice</**/ ::std::int32_t, ::std::int32_t, bool,
::std::int32_t, ::std::int32_t>(
emboss_reserved_local_subexpr_29,
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(7LL)),
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(0LL)));
const auto emboss_reserved_local_subexpr_31 =
::emboss::support::LessThan</**/ ::std::int32_t, bool, ::std::int32_t,
::std::int32_t>(
emboss_reserved_local_subexpr_2,
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(2LL)));
const auto emboss_reserved_local_subexpr_32 =
::emboss::support::LessThan</**/ ::std::int32_t, bool, ::std::int32_t,
::std::int32_t>(
emboss_reserved_local_subexpr_7,
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(4LL)));
const auto emboss_reserved_local_subexpr_33 =
::emboss::support::Or</**/ bool, bool, bool, bool>(
emboss_reserved_local_subexpr_31,
emboss_reserved_local_subexpr_32);
const auto emboss_reserved_local_subexpr_34 =
::emboss::support::Choice</**/ ::std::int32_t, ::std::int32_t, bool,
::std::int32_t, ::std::int32_t>(
emboss_reserved_local_subexpr_33,
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(2LL)),
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(0LL)));
const auto emboss_reserved_local_subexpr_35 = ::emboss::support::Maximum<
/**/ ::std::int32_t, ::std::int32_t, ::std::int32_t, ::std::int32_t,
::std::int32_t, ::std::int32_t, ::std::int32_t, ::std::int32_t,
::std::int32_t, ::std::int32_t, ::std::int32_t, ::std::int32_t,
::std::int32_t, ::std::int32_t, ::std::int32_t, ::std::int32_t>(
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(0LL)),
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(1LL)),
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(9LL)),
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(9LL)),
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(9LL)),
emboss_reserved_local_subexpr_5,
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(2LL)),
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(3LL)),
emboss_reserved_local_subexpr_9, emboss_reserved_local_subexpr_11,
emboss_reserved_local_subexpr_15, emboss_reserved_local_subexpr_24,
emboss_reserved_local_subexpr_30, emboss_reserved_local_subexpr_34);
return emboss_reserved_local_subexpr_35;
}
static constexpr bool ValueIsOk(
::std::int32_t emboss_reserved_local_value) {
return (void)emboss_reserved_local_value, // Silence -Wunused-parameter
::emboss::support::Maybe<bool>(true).ValueOr(false);
}
const GenericComplexView view_;
};
EmbossReservedDollarVirtualIntrinsicSizeInBytesView IntrinsicSizeInBytes()
const;
::emboss::support::Maybe<bool> has_IntrinsicSizeInBytes() const;
public:
class EmbossReservedDollarVirtualMaxSizeInBytesView final {
public:
using ValueType = ::std::int32_t;
constexpr EmbossReservedDollarVirtualMaxSizeInBytesView() {}
EmbossReservedDollarVirtualMaxSizeInBytesView(
const EmbossReservedDollarVirtualMaxSizeInBytesView&) = default;
EmbossReservedDollarVirtualMaxSizeInBytesView(
EmbossReservedDollarVirtualMaxSizeInBytesView&&) = default;
EmbossReservedDollarVirtualMaxSizeInBytesView& operator=(
const EmbossReservedDollarVirtualMaxSizeInBytesView&) = default;
EmbossReservedDollarVirtualMaxSizeInBytesView& operator=(
EmbossReservedDollarVirtualMaxSizeInBytesView&&) = default;
~EmbossReservedDollarVirtualMaxSizeInBytesView() = default;
static constexpr ::std::int32_t Read();
static constexpr ::std::int32_t UncheckedRead();
static constexpr bool Ok() { return true; }
template <class Stream>
void WriteToTextStream(Stream* emboss_reserved_local_stream,
const ::emboss::TextOutputOptions&
emboss_reserved_local_options) const {
::emboss::support::WriteIntegerViewToTextStream(
this, emboss_reserved_local_stream, emboss_reserved_local_options);
}
static constexpr bool IsAggregate() { return false; }
};
static constexpr EmbossReservedDollarVirtualMaxSizeInBytesView
MaxSizeInBytes() {
return EmbossReservedDollarVirtualMaxSizeInBytesView();
}
static constexpr ::emboss::support::Maybe<bool> has_MaxSizeInBytes() {
return ::emboss::support::Maybe<bool>(true);
}
public:
class EmbossReservedDollarVirtualMinSizeInBytesView final {
public:
using ValueType = ::std::int32_t;
constexpr EmbossReservedDollarVirtualMinSizeInBytesView() {}
EmbossReservedDollarVirtualMinSizeInBytesView(
const EmbossReservedDollarVirtualMinSizeInBytesView&) = default;
EmbossReservedDollarVirtualMinSizeInBytesView(
EmbossReservedDollarVirtualMinSizeInBytesView&&) = default;
EmbossReservedDollarVirtualMinSizeInBytesView& operator=(
const EmbossReservedDollarVirtualMinSizeInBytesView&) = default;
EmbossReservedDollarVirtualMinSizeInBytesView& operator=(
EmbossReservedDollarVirtualMinSizeInBytesView&&) = default;
~EmbossReservedDollarVirtualMinSizeInBytesView() = default;
static constexpr ::std::int32_t Read();
static constexpr ::std::int32_t UncheckedRead();
static constexpr bool Ok() { return true; }
template <class Stream>
void WriteToTextStream(Stream* emboss_reserved_local_stream,
const ::emboss::TextOutputOptions&
emboss_reserved_local_options) const {
::emboss::support::WriteIntegerViewToTextStream(
this, emboss_reserved_local_stream, emboss_reserved_local_options);
}
static constexpr bool IsAggregate() { return false; }
};
static constexpr EmbossReservedDollarVirtualMinSizeInBytesView
MinSizeInBytes() {
return EmbossReservedDollarVirtualMinSizeInBytesView();
}
static constexpr ::emboss::support::Maybe<bool> has_MinSizeInBytes() {
return ::emboss::support::Maybe<bool>(true);
}
private:
Storage backing_;
template <class OtherStorage>
friend class GenericComplexView;
};
using ComplexView =
GenericComplexView</**/ ::emboss::support::ReadOnlyContiguousBuffer>;
using ComplexWriter =
GenericComplexView</**/ ::emboss::support::ReadWriteContiguousBuffer>;
template <class View>
struct EmbossReservedInternalIsGenericComplexView {
static constexpr const bool value = false;
};
template <class Storage>
struct EmbossReservedInternalIsGenericComplexView<GenericComplexView<Storage>> {
static constexpr const bool value = true;
};
template <typename T>
inline GenericComplexView<
/**/ ::emboss::support::ContiguousBuffer<
typename ::std::remove_reference<
decltype(*::std::declval<T>()->data())>::type,
1, 0>>
MakeComplexView(T&& emboss_reserved_local_arg) {
return GenericComplexView<
/**/ ::emboss::support::ContiguousBuffer<
typename ::std::remove_reference<
decltype(*::std::declval<T>()->data())>::type,
1, 0>>(::std::forward<T>(emboss_reserved_local_arg));
}
template <typename T>
inline GenericComplexView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>
MakeComplexView(T* emboss_reserved_local_data,
::std::size_t emboss_reserved_local_size) {
return GenericComplexView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>(
emboss_reserved_local_data, emboss_reserved_local_size);
}
template <typename T, ::std::size_t kAlignment>
inline GenericComplexView<
/**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>
MakeAlignedComplexView(T* emboss_reserved_local_data,
::std::size_t emboss_reserved_local_size) {
return GenericComplexView<
/**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>(
emboss_reserved_local_data, emboss_reserved_local_size);
}
namespace RegisterLayout {} // namespace RegisterLayout
template <class Storage>
inline typename ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 0>>
GenericRegisterLayoutView<Storage>::x() const {
if (has_x().ValueOr(false)) {
auto emboss_reserved_local_size =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(8LL));
auto emboss_reserved_local_offset =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(0LL));
if (emboss_reserved_local_size.Known() &&
emboss_reserved_local_size.ValueOr(0) >= 0 &&
emboss_reserved_local_offset.Known() &&
emboss_reserved_local_offset.ValueOr(0) >= 0) {
return ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 0>>
(backing_.template GetOffsetStorage<0, 0>(
emboss_reserved_local_offset.ValueOrDefault(),
emboss_reserved_local_size.ValueOrDefault()));
}
}
return ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 0>>
();
}
template <class Storage>
inline ::emboss::support::Maybe<bool>
GenericRegisterLayoutView<Storage>::has_x() const {
return ::emboss::support::Maybe</**/ bool>(true);
}
template <class Storage>
inline typename ::emboss::prelude::UIntView<
/**/ ::emboss::support::FixedSizeViewParameters<
4, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 0>>
GenericRegisterLayoutView<Storage>::l() const {
if (has_l().ValueOr(false)) {
auto emboss_reserved_local_size =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(4LL));
auto emboss_reserved_local_offset =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(0LL));
if (emboss_reserved_local_size.Known() &&
emboss_reserved_local_size.ValueOr(0) >= 0 &&
emboss_reserved_local_offset.Known() &&
emboss_reserved_local_offset.ValueOr(0) >= 0) {
return ::emboss::prelude::UIntView<
/**/ ::emboss::support::FixedSizeViewParameters<
4, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 0>>
(backing_.template GetOffsetStorage<0, 0>(
emboss_reserved_local_offset.ValueOrDefault(),
emboss_reserved_local_size.ValueOrDefault()));
}
}
return ::emboss::prelude::UIntView<
/**/ ::emboss::support::FixedSizeViewParameters<
4, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 0>>
();
}
template <class Storage>
inline ::emboss::support::Maybe<bool>
GenericRegisterLayoutView<Storage>::has_l() const {
return ::emboss::support::Maybe</**/ bool>(true);
}
template <class Storage>
inline typename ::emboss::prelude::UIntView<
/**/ ::emboss::support::FixedSizeViewParameters<
4, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 4>>
GenericRegisterLayoutView<Storage>::h() const {
if (has_h().ValueOr(false)) {
auto emboss_reserved_local_size =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(4LL));
auto emboss_reserved_local_offset =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(4LL));
if (emboss_reserved_local_size.Known() &&
emboss_reserved_local_size.ValueOr(0) >= 0 &&
emboss_reserved_local_offset.Known() &&
emboss_reserved_local_offset.ValueOr(0) >= 0) {
return ::emboss::prelude::UIntView<
/**/ ::emboss::support::FixedSizeViewParameters<
4, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 4>>
(backing_.template GetOffsetStorage<0, 4>(
emboss_reserved_local_offset.ValueOrDefault(),
emboss_reserved_local_size.ValueOrDefault()));
}
}
return ::emboss::prelude::UIntView<
/**/ ::emboss::support::FixedSizeViewParameters<
4, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 4>>
();
}
template <class Storage>
inline ::emboss::support::Maybe<bool>
GenericRegisterLayoutView<Storage>::has_h() const {
return ::emboss::support::Maybe</**/ bool>(true);
}
namespace RegisterLayout {
inline constexpr ::std::int32_t IntrinsicSizeInBits() {
return ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(8LL))
.ValueOrDefault();
}
} // namespace RegisterLayout
template <class Storage>
inline constexpr ::std::int32_t GenericRegisterLayoutView<
Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBitsView::Read() {
return RegisterLayout::IntrinsicSizeInBits();
}
template <class Storage>
inline constexpr ::std::int32_t GenericRegisterLayoutView<Storage>::
EmbossReservedDollarVirtualIntrinsicSizeInBitsView::UncheckedRead() {
return RegisterLayout::IntrinsicSizeInBits();
}
namespace RegisterLayout {
inline constexpr ::std::int32_t MaxSizeInBits() {
return ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(8LL))
.ValueOrDefault();
}
} // namespace RegisterLayout
template <class Storage>
inline constexpr ::std::int32_t GenericRegisterLayoutView<
Storage>::EmbossReservedDollarVirtualMaxSizeInBitsView::Read() {
return RegisterLayout::MaxSizeInBits();
}
template <class Storage>
inline constexpr ::std::int32_t GenericRegisterLayoutView<
Storage>::EmbossReservedDollarVirtualMaxSizeInBitsView::UncheckedRead() {
return RegisterLayout::MaxSizeInBits();
}
namespace RegisterLayout {
inline constexpr ::std::int32_t MinSizeInBits() {
return ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(8LL))
.ValueOrDefault();
}
} // namespace RegisterLayout
template <class Storage>
inline constexpr ::std::int32_t GenericRegisterLayoutView<
Storage>::EmbossReservedDollarVirtualMinSizeInBitsView::Read() {
return RegisterLayout::MinSizeInBits();
}
template <class Storage>
inline constexpr ::std::int32_t GenericRegisterLayoutView<
Storage>::EmbossReservedDollarVirtualMinSizeInBitsView::UncheckedRead() {
return RegisterLayout::MinSizeInBits();
}
namespace ArrayElement {} // namespace ArrayElement
template <class Storage>
inline typename ::emboss_test::GenericRegisterLayoutView<
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 0>>,
8>>
GenericArrayElementView<Storage>::a() const {
if (has_a().ValueOr(false)) {
auto emboss_reserved_local_size =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(1LL));
auto emboss_reserved_local_offset =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(0LL));
if (emboss_reserved_local_size.Known() &&
emboss_reserved_local_size.ValueOr(0) >= 0 &&
emboss_reserved_local_offset.Known() &&
emboss_reserved_local_offset.ValueOr(0) >= 0) {
return ::emboss_test::GenericRegisterLayoutView<
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 0>>,
8>>
(backing_.template GetOffsetStorage<0, 0>(
emboss_reserved_local_offset.ValueOrDefault(),
emboss_reserved_local_size.ValueOrDefault()));
}
}
return ::emboss_test::GenericRegisterLayoutView<
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 0>>,
8>>
();
}
template <class Storage>
inline ::emboss::support::Maybe<bool> GenericArrayElementView<Storage>::has_a()
const {
return ::emboss::support::Maybe</**/ bool>(true);
}
namespace ArrayElement {
inline constexpr ::std::int32_t IntrinsicSizeInBytes() {
return ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(1LL))
.ValueOrDefault();
}
} // namespace ArrayElement
template <class Storage>
inline constexpr ::std::int32_t GenericArrayElementView<
Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Read() {
return ArrayElement::IntrinsicSizeInBytes();
}
template <class Storage>
inline constexpr ::std::int32_t GenericArrayElementView<Storage>::
EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead() {
return ArrayElement::IntrinsicSizeInBytes();
}
namespace ArrayElement {
inline constexpr ::std::int32_t MaxSizeInBytes() {
return ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(1LL))
.ValueOrDefault();
}
} // namespace ArrayElement
template <class Storage>
inline constexpr ::std::int32_t GenericArrayElementView<
Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() {
return ArrayElement::MaxSizeInBytes();
}
template <class Storage>
inline constexpr ::std::int32_t GenericArrayElementView<
Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() {
return ArrayElement::MaxSizeInBytes();
}
namespace ArrayElement {
inline constexpr ::std::int32_t MinSizeInBytes() {
return ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(1LL))
.ValueOrDefault();
}
} // namespace ArrayElement
template <class Storage>
inline constexpr ::std::int32_t GenericArrayElementView<
Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() {
return ArrayElement::MinSizeInBytes();
}
template <class Storage>
inline constexpr ::std::int32_t GenericArrayElementView<
Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() {
return ArrayElement::MinSizeInBytes();
}
namespace Complex {
namespace EmbossReservedAnonymousField1 {
} // namespace EmbossReservedAnonymousField1
template <class Storage>
inline typename ::emboss::prelude::UIntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 0>>
GenericEmbossReservedAnonymousField1View<Storage>::a0() const {
if (has_a0().ValueOr(false)) {
auto emboss_reserved_local_size =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(8LL));
auto emboss_reserved_local_offset =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(0LL));
if (emboss_reserved_local_size.Known() &&
emboss_reserved_local_size.ValueOr(0) >= 0 &&
emboss_reserved_local_offset.Known() &&
emboss_reserved_local_offset.ValueOr(0) >= 0) {
return ::emboss::prelude::UIntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 0>>
(backing_.template GetOffsetStorage<0, 0>(
emboss_reserved_local_offset.ValueOrDefault(),
emboss_reserved_local_size.ValueOrDefault()));
}
}
return ::emboss::prelude::UIntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 0>>
();
}
template <class Storage>
inline ::emboss::support::Maybe<bool>
GenericEmbossReservedAnonymousField1View<Storage>::has_a0() const {
return ::emboss::support::Maybe</**/ bool>(true);
}
template <class Storage>
inline typename ::emboss::prelude::FlagView<
/**/ ::emboss::support::FixedSizeViewParameters<
1, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 7>>
GenericEmbossReservedAnonymousField1View<Storage>::s0() const {
if (has_s0().ValueOr(false)) {
auto emboss_reserved_local_size =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(1LL));
auto emboss_reserved_local_offset =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(7LL));
if (emboss_reserved_local_size.Known() &&
emboss_reserved_local_size.ValueOr(0) >= 0 &&
emboss_reserved_local_offset.Known() &&
emboss_reserved_local_offset.ValueOr(0) >= 0) {
return ::emboss::prelude::FlagView<
/**/ ::emboss::support::FixedSizeViewParameters<
1, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 7>>
(backing_.template GetOffsetStorage<0, 7>(
emboss_reserved_local_offset.ValueOrDefault(),
emboss_reserved_local_size.ValueOrDefault()));
}
}
return ::emboss::prelude::FlagView<
/**/ ::emboss::support::FixedSizeViewParameters<
1, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 7>>
();
}
template <class Storage>
inline ::emboss::support::Maybe<bool>
GenericEmbossReservedAnonymousField1View<Storage>::has_s0() const {
return ::emboss::support::Maybe</**/ bool>(true);
}
template <class Storage>
inline typename ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
4, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 0>>
GenericEmbossReservedAnonymousField1View<Storage>::l0() const {
if (has_l0().ValueOr(false)) {
auto emboss_reserved_local_size =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(4LL));
auto emboss_reserved_local_offset =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(0LL));
if (emboss_reserved_local_size.Known() &&
emboss_reserved_local_size.ValueOr(0) >= 0 &&
emboss_reserved_local_offset.Known() &&
emboss_reserved_local_offset.ValueOr(0) >= 0) {
return ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
4, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 0>>
(backing_.template GetOffsetStorage<0, 0>(
emboss_reserved_local_offset.ValueOrDefault(),
emboss_reserved_local_size.ValueOrDefault()));
}
}
return ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
4, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 0>>
();
}
template <class Storage>
inline ::emboss::support::Maybe<bool>
GenericEmbossReservedAnonymousField1View<Storage>::has_l0() const {
return ::emboss::support::Maybe</**/ bool>(true);
}
template <class Storage>
inline typename ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
4, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 4>>
GenericEmbossReservedAnonymousField1View<Storage>::h0() const {
if (has_h0().ValueOr(false)) {
auto emboss_reserved_local_size =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(4LL));
auto emboss_reserved_local_offset =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(4LL));
if (emboss_reserved_local_size.Known() &&
emboss_reserved_local_size.ValueOr(0) >= 0 &&
emboss_reserved_local_offset.Known() &&
emboss_reserved_local_offset.ValueOr(0) >= 0) {
return ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
4, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 4>>
(backing_.template GetOffsetStorage<0, 4>(
emboss_reserved_local_offset.ValueOrDefault(),
emboss_reserved_local_size.ValueOrDefault()));
}
}
return ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
4, ::emboss::support::AllValuesAreOk>,
typename Storage::template OffsetStorageType</**/ 0, 4>>
();
}
template <class Storage>
inline ::emboss::support::Maybe<bool>
GenericEmbossReservedAnonymousField1View<Storage>::has_h0() const {
return ::emboss::support::Maybe</**/ bool>(true);
}
namespace EmbossReservedAnonymousField1 {
inline constexpr ::std::int32_t IntrinsicSizeInBits() {
return ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(8LL))
.ValueOrDefault();
}
} // namespace EmbossReservedAnonymousField1
template <class Storage>
inline constexpr ::std::int32_t GenericEmbossReservedAnonymousField1View<
Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBitsView::Read() {
return EmbossReservedAnonymousField1::IntrinsicSizeInBits();
}
template <class Storage>
inline constexpr ::std::int32_t
GenericEmbossReservedAnonymousField1View<Storage>::
EmbossReservedDollarVirtualIntrinsicSizeInBitsView::UncheckedRead() {
return EmbossReservedAnonymousField1::IntrinsicSizeInBits();
}
namespace EmbossReservedAnonymousField1 {
inline constexpr ::std::int32_t MaxSizeInBits() {
return ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(8LL))
.ValueOrDefault();
}
} // namespace EmbossReservedAnonymousField1
template <class Storage>
inline constexpr ::std::int32_t GenericEmbossReservedAnonymousField1View<
Storage>::EmbossReservedDollarVirtualMaxSizeInBitsView::Read() {
return EmbossReservedAnonymousField1::MaxSizeInBits();
}
template <class Storage>
inline constexpr ::std::int32_t GenericEmbossReservedAnonymousField1View<
Storage>::EmbossReservedDollarVirtualMaxSizeInBitsView::UncheckedRead() {
return EmbossReservedAnonymousField1::MaxSizeInBits();
}
namespace EmbossReservedAnonymousField1 {
inline constexpr ::std::int32_t MinSizeInBits() {
return ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(8LL))
.ValueOrDefault();
}
} // namespace EmbossReservedAnonymousField1
template <class Storage>
inline constexpr ::std::int32_t GenericEmbossReservedAnonymousField1View<
Storage>::EmbossReservedDollarVirtualMinSizeInBitsView::Read() {
return EmbossReservedAnonymousField1::MinSizeInBits();
}
template <class Storage>
inline constexpr ::std::int32_t GenericEmbossReservedAnonymousField1View<
Storage>::EmbossReservedDollarVirtualMinSizeInBitsView::UncheckedRead() {
return EmbossReservedAnonymousField1::MinSizeInBits();
}
} // namespace Complex
template <class Storage>
inline typename ::emboss::prelude::UIntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 0>>,
8>>
GenericComplexView<Storage>::s() const {
if (has_s().ValueOr(false)) {
auto emboss_reserved_local_size =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(1LL));
auto emboss_reserved_local_offset =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(0LL));
if (emboss_reserved_local_size.Known() &&
emboss_reserved_local_size.ValueOr(0) >= 0 &&
emboss_reserved_local_offset.Known() &&
emboss_reserved_local_offset.ValueOr(0) >= 0) {
return ::emboss::prelude::UIntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 0>>,
8>>
(backing_.template GetOffsetStorage<0, 0>(
emboss_reserved_local_offset.ValueOrDefault(),
emboss_reserved_local_size.ValueOrDefault()));
}
}
return ::emboss::prelude::UIntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 0>>,
8>>
();
}
template <class Storage>
inline ::emboss::support::Maybe<bool> GenericComplexView<Storage>::has_s()
const {
return ::emboss::support::Maybe</**/ bool>(true);
}
template <class Storage>
inline typename ::emboss::prelude::UIntView<
/**/ ::emboss::support::FixedSizeViewParameters<
64, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 1>>,
64>>
GenericComplexView<Storage>::u() const {
if (has_u().ValueOr(false)) {
auto emboss_reserved_local_size =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(8LL));
auto emboss_reserved_local_offset =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(1LL));
if (emboss_reserved_local_size.Known() &&
emboss_reserved_local_size.ValueOr(0) >= 0 &&
emboss_reserved_local_offset.Known() &&
emboss_reserved_local_offset.ValueOr(0) >= 0) {
return ::emboss::prelude::UIntView<
/**/ ::emboss::support::FixedSizeViewParameters<
64, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 1>>,
64>>
(backing_.template GetOffsetStorage<0, 1>(
emboss_reserved_local_offset.ValueOrDefault(),
emboss_reserved_local_size.ValueOrDefault()));
}
}
return ::emboss::prelude::UIntView<
/**/ ::emboss::support::FixedSizeViewParameters<
64, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 1>>,
64>>
();
}
template <class Storage>
inline ::emboss::support::Maybe<bool> GenericComplexView<Storage>::has_u()
const {
return ::emboss::support::Maybe</**/ bool>(true);
}
template <class Storage>
inline typename ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
64, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 1>>,
64>>
GenericComplexView<Storage>::i() const {
if (has_i().ValueOr(false)) {
auto emboss_reserved_local_size =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(8LL));
auto emboss_reserved_local_offset =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(1LL));
if (emboss_reserved_local_size.Known() &&
emboss_reserved_local_size.ValueOr(0) >= 0 &&
emboss_reserved_local_offset.Known() &&
emboss_reserved_local_offset.ValueOr(0) >= 0) {
return ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
64, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 1>>,
64>>
(backing_.template GetOffsetStorage<0, 1>(
emboss_reserved_local_offset.ValueOrDefault(),
emboss_reserved_local_size.ValueOrDefault()));
}
}
return ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
64, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 1>>,
64>>
();
}
template <class Storage>
inline ::emboss::support::Maybe<bool> GenericComplexView<Storage>::has_i()
const {
return ::emboss::support::Maybe</**/ bool>(true);
}
template <class Storage>
inline typename ::emboss::prelude::BcdView<
/**/ ::emboss::support::FixedSizeViewParameters<
64, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 1>>,
64>>
GenericComplexView<Storage>::b() const {
if (has_b().ValueOr(false)) {
auto emboss_reserved_local_size =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(8LL));
auto emboss_reserved_local_offset =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(1LL));
if (emboss_reserved_local_size.Known() &&
emboss_reserved_local_size.ValueOr(0) >= 0 &&
emboss_reserved_local_offset.Known() &&
emboss_reserved_local_offset.ValueOr(0) >= 0) {
return ::emboss::prelude::BcdView<
/**/ ::emboss::support::FixedSizeViewParameters<
64, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 1>>,
64>>
(backing_.template GetOffsetStorage<0, 1>(
emboss_reserved_local_offset.ValueOrDefault(),
emboss_reserved_local_size.ValueOrDefault()));
}
}
return ::emboss::prelude::BcdView<
/**/ ::emboss::support::FixedSizeViewParameters<
64, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 1>>,
64>>
();
}
template <class Storage>
inline ::emboss::support::Maybe<bool> GenericComplexView<Storage>::has_b()
const {
return ::emboss::support::Maybe</**/ bool>(true);
}
template <class Storage>
inline typename ::emboss::support::GenericArrayView<
typename ::emboss::support::GenericArrayView<
typename ::emboss_test::GenericArrayElementView<
typename Storage::template OffsetStorageType<
/**/ 0, 1>::template OffsetStorageType</**/ 4, 0>::
template OffsetStorageType</**/ 1, 0>>
,
typename Storage::template OffsetStorageType<
/**/ 0, 1>::template OffsetStorageType</**/ 4, 0>,
1, 8>
,
typename Storage::template OffsetStorageType</**/ 0, 1>, 4, 8>
GenericComplexView<Storage>::a() const {
if (has_a().ValueOr(false)) {
const auto emboss_reserved_local_subexpr_1 = s();
const auto emboss_reserved_local_subexpr_2 =
(emboss_reserved_local_subexpr_1.Ok()
? ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(
emboss_reserved_local_subexpr_1.UncheckedRead()))
: ::emboss::support::Maybe</**/ ::std::int32_t>());
const auto emboss_reserved_local_subexpr_3 =
::emboss::support::Product</**/ ::std::int32_t, ::std::int32_t,
::std::int32_t, ::std::int32_t>(
emboss_reserved_local_subexpr_2,
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(4LL)));
auto emboss_reserved_local_size = emboss_reserved_local_subexpr_3;
auto emboss_reserved_local_offset =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(1LL));
if (emboss_reserved_local_size.Known() &&
emboss_reserved_local_size.ValueOr(0) >= 0 &&
emboss_reserved_local_offset.Known() &&
emboss_reserved_local_offset.ValueOr(0) >= 0) {
return ::emboss::support::GenericArrayView<
typename ::emboss::support::GenericArrayView<
typename ::emboss_test::GenericArrayElementView<
typename Storage::template OffsetStorageType<
/**/ 0, 1>::template OffsetStorageType</**/ 4, 0>::
template OffsetStorageType</**/ 1, 0>>
,
typename Storage::template OffsetStorageType<
/**/ 0, 1>::template OffsetStorageType</**/ 4, 0>,
1, 8>
,
typename Storage::template OffsetStorageType</**/ 0, 1>, 4, 8>
(backing_.template GetOffsetStorage<0, 1>(
emboss_reserved_local_offset.ValueOrDefault(),
emboss_reserved_local_size.ValueOrDefault()));
}
}
return ::emboss::support::GenericArrayView<
typename ::emboss::support::GenericArrayView<
typename ::emboss_test::GenericArrayElementView<
typename Storage::template OffsetStorageType<
/**/ 0, 1>::template OffsetStorageType</**/ 4, 0>::
template OffsetStorageType</**/ 1, 0>>
,
typename Storage::template OffsetStorageType<
/**/ 0, 1>::template OffsetStorageType</**/ 4, 0>,
1, 8>
,
typename Storage::template OffsetStorageType</**/ 0, 1>, 4, 8>
();
}
template <class Storage>
inline ::emboss::support::Maybe<bool> GenericComplexView<Storage>::has_a()
const {
return ::emboss::support::Maybe</**/ bool>(true);
}
template <class Storage>
inline
typename ::emboss_test::Complex::GenericEmbossReservedAnonymousField1View<
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 1>>,
8>>
GenericComplexView<Storage>::emboss_reserved_anonymous_field_1() const {
if (has_emboss_reserved_anonymous_field_1().ValueOr(false)) {
auto emboss_reserved_local_size =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(1LL));
auto emboss_reserved_local_offset =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(1LL));
if (emboss_reserved_local_size.Known() &&
emboss_reserved_local_size.ValueOr(0) >= 0 &&
emboss_reserved_local_offset.Known() &&
emboss_reserved_local_offset.ValueOr(0) >= 0) {
return ::emboss_test::Complex::GenericEmbossReservedAnonymousField1View<
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 1>>,
8>>
(backing_.template GetOffsetStorage<0, 1>(
emboss_reserved_local_offset.ValueOrDefault(),
emboss_reserved_local_size.ValueOrDefault()));
}
}
return ::emboss_test::Complex::GenericEmbossReservedAnonymousField1View<
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 1>>,
8>>
();
}
template <class Storage>
inline ::emboss::support::Maybe<bool>
GenericComplexView<Storage>::has_emboss_reserved_anonymous_field_1() const {
return ::emboss::support::Maybe</**/ bool>(true);
}
template <class Storage>
inline ::emboss::support::Maybe<bool> GenericComplexView<Storage>::has_a0()
const {
return ::emboss::support::And</**/ bool, bool, bool, bool>(
::emboss::support::Maybe</**/ bool>(true),
::emboss::support::Maybe</**/ bool>(true));
}
template <class Storage>
inline ::emboss::support::Maybe<bool> GenericComplexView<Storage>::has_s0()
const {
return ::emboss::support::And</**/ bool, bool, bool, bool>(
::emboss::support::Maybe</**/ bool>(true),
::emboss::support::Maybe</**/ bool>(true));
}
template <class Storage>
inline ::emboss::support::Maybe<bool> GenericComplexView<Storage>::has_l0()
const {
return ::emboss::support::And</**/ bool, bool, bool, bool>(
::emboss::support::Maybe</**/ bool>(true),
::emboss::support::Maybe</**/ bool>(true));
}
template <class Storage>
inline ::emboss::support::Maybe<bool> GenericComplexView<Storage>::has_h0()
const {
return ::emboss::support::And</**/ bool, bool, bool, bool>(
::emboss::support::Maybe</**/ bool>(true),
::emboss::support::Maybe</**/ bool>(true));
}
template <class Storage>
inline typename ::emboss_test::GenericArrayElementView<
typename Storage::template OffsetStorageType</**/ 0, 2>>
GenericComplexView<Storage>::e1() const {
if (has_e1().ValueOr(false)) {
auto emboss_reserved_local_size =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(1LL));
auto emboss_reserved_local_offset =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(2LL));
if (emboss_reserved_local_size.Known() &&
emboss_reserved_local_size.ValueOr(0) >= 0 &&
emboss_reserved_local_offset.Known() &&
emboss_reserved_local_offset.ValueOr(0) >= 0) {
return ::emboss_test::GenericArrayElementView<
typename Storage::template OffsetStorageType</**/ 0, 2>>
(backing_.template GetOffsetStorage<0, 2>(
emboss_reserved_local_offset.ValueOrDefault(),
emboss_reserved_local_size.ValueOrDefault()));
}
}
return ::emboss_test::GenericArrayElementView<
typename Storage::template OffsetStorageType</**/ 0, 2>>
();
}
template <class Storage>
inline ::emboss::support::Maybe<bool> GenericComplexView<Storage>::has_e1()
const {
return ::emboss::support::Maybe</**/ bool>(true);
}
template <class Storage>
inline typename ::emboss_test::GenericArrayElementView<
typename Storage::template OffsetStorageType</**/ 0, 3>>
GenericComplexView<Storage>::e2() const {
if (has_e2().ValueOr(false)) {
auto emboss_reserved_local_size =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(1LL));
auto emboss_reserved_local_offset =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(3LL));
if (emboss_reserved_local_size.Known() &&
emboss_reserved_local_size.ValueOr(0) >= 0 &&
emboss_reserved_local_offset.Known() &&
emboss_reserved_local_offset.ValueOr(0) >= 0) {
return ::emboss_test::GenericArrayElementView<
typename Storage::template OffsetStorageType</**/ 0, 3>>
(backing_.template GetOffsetStorage<0, 3>(
emboss_reserved_local_offset.ValueOrDefault(),
emboss_reserved_local_size.ValueOrDefault()));
}
}
return ::emboss_test::GenericArrayElementView<
typename Storage::template OffsetStorageType</**/ 0, 3>>
();
}
template <class Storage>
inline ::emboss::support::Maybe<bool> GenericComplexView<Storage>::has_e2()
const {
return ::emboss::support::GreaterThanOrEqual</**/ ::std::int32_t, bool,
::std::int32_t, ::std::int32_t>(
(a0().Ok() ? ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(a0().UncheckedRead()))
: ::emboss::support::Maybe</**/ ::std::int32_t>()),
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(128LL)));
}
template <class Storage>
inline typename ::emboss::prelude::BcdView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 3>>,
8>>
GenericComplexView<Storage>::b2() const {
if (has_b2().ValueOr(false)) {
auto emboss_reserved_local_size =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(1LL));
auto emboss_reserved_local_offset =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(3LL));
if (emboss_reserved_local_size.Known() &&
emboss_reserved_local_size.ValueOr(0) >= 0 &&
emboss_reserved_local_offset.Known() &&
emboss_reserved_local_offset.ValueOr(0) >= 0) {
return ::emboss::prelude::BcdView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 3>>,
8>>
(backing_.template GetOffsetStorage<0, 3>(
emboss_reserved_local_offset.ValueOrDefault(),
emboss_reserved_local_size.ValueOrDefault()));
}
}
return ::emboss::prelude::BcdView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 3>>,
8>>
();
}
template <class Storage>
inline ::emboss::support::Maybe<bool> GenericComplexView<Storage>::has_b2()
const {
return ::emboss::support::LessThan</**/ ::std::int32_t, bool, ::std::int32_t,
::std::int32_t>(
(a0().Ok() ? ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(a0().UncheckedRead()))
: ::emboss::support::Maybe</**/ ::std::int32_t>()),
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(128LL)));
}
template <class Storage>
inline typename ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 4>>,
8>>
GenericComplexView<Storage>::e3() const {
if (has_e3().ValueOr(false)) {
auto emboss_reserved_local_size =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(1LL));
auto emboss_reserved_local_offset =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(4LL));
if (emboss_reserved_local_size.Known() &&
emboss_reserved_local_size.ValueOr(0) >= 0 &&
emboss_reserved_local_offset.Known() &&
emboss_reserved_local_offset.ValueOr(0) >= 0) {
return ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 4>>,
8>>
(backing_.template GetOffsetStorage<0, 4>(
emboss_reserved_local_offset.ValueOrDefault(),
emboss_reserved_local_size.ValueOrDefault()));
}
}
return ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 4>>,
8>>
();
}
template <class Storage>
inline ::emboss::support::Maybe<bool> GenericComplexView<Storage>::has_e3()
const {
return ::emboss::support::GreaterThan</**/ ::std::int32_t, bool,
::std::int32_t, ::std::int32_t>(
(b2().Ok() ? ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(b2().UncheckedRead()))
: ::emboss::support::Maybe</**/ ::std::int32_t>()),
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(25LL)));
}
template <class Storage>
inline typename ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 5>>,
8>>
GenericComplexView<Storage>::e4() const {
if (has_e4().ValueOr(false)) {
auto emboss_reserved_local_size =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(1LL));
auto emboss_reserved_local_offset =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(5LL));
if (emboss_reserved_local_size.Known() &&
emboss_reserved_local_size.ValueOr(0) >= 0 &&
emboss_reserved_local_offset.Known() &&
emboss_reserved_local_offset.ValueOr(0) >= 0) {
return ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 5>>,
8>>
(backing_.template GetOffsetStorage<0, 5>(
emboss_reserved_local_offset.ValueOrDefault(),
emboss_reserved_local_size.ValueOrDefault()));
}
}
return ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 5>>,
8>>
();
}
template <class Storage>
inline ::emboss::support::Maybe<bool> GenericComplexView<Storage>::has_e4()
const {
return ::emboss::support::And</**/ bool, bool, bool, bool>(
::emboss::support::GreaterThanOrEqual</**/ ::std::int32_t, bool,
::std::int32_t, ::std::int32_t>(
(s().Ok() ? ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(s().UncheckedRead()))
: ::emboss::support::Maybe</**/ ::std::int32_t>()),
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(4LL))),
::emboss::support::Choice</**/ bool, bool, bool, bool, bool>(
::emboss::support::GreaterThanOrEqual</**/ ::std::int32_t, bool,
::std::int32_t, ::std::int32_t>(
(a0().Ok()
? ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(a0().UncheckedRead()))
: ::emboss::support::Maybe</**/ ::std::int32_t>()),
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(80LL))),
::emboss::support::GreaterThanOrEqual</**/ ::std::int32_t, bool,
::std::int32_t, ::std::int32_t>(
(e3().Ok()
? ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(e3().UncheckedRead()))
: ::emboss::support::Maybe</**/ ::std::int32_t>()),
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(128LL))),
::emboss::support::LessThan</**/ ::std::int32_t, bool, ::std::int32_t,
::std::int32_t>(
(b2().Ok()
? ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(b2().UncheckedRead()))
: ::emboss::support::Maybe</**/ ::std::int32_t>()),
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(50LL)))));
}
template <class Storage>
inline typename ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 6>>,
8>>
GenericComplexView<Storage>::e5() const {
if (has_e5().ValueOr(false)) {
auto emboss_reserved_local_size =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(1LL));
auto emboss_reserved_local_offset =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(6LL));
if (emboss_reserved_local_size.Known() &&
emboss_reserved_local_size.ValueOr(0) >= 0 &&
emboss_reserved_local_offset.Known() &&
emboss_reserved_local_offset.ValueOr(0) >= 0) {
return ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 6>>,
8>>
(backing_.template GetOffsetStorage<0, 6>(
emboss_reserved_local_offset.ValueOrDefault(),
emboss_reserved_local_size.ValueOrDefault()));
}
}
return ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 6>>,
8>>
();
}
template <class Storage>
inline ::emboss::support::Maybe<bool> GenericComplexView<Storage>::has_e5()
const {
return ::emboss::support::And</**/ bool, bool, bool, bool>(
::emboss::support::GreaterThanOrEqual</**/ ::std::int32_t, bool,
::std::int32_t, ::std::int32_t>(
(s().Ok() ? ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(s().UncheckedRead()))
: ::emboss::support::Maybe</**/ ::std::int32_t>()),
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(5LL))),
::emboss::support::GreaterThan</**/ ::std::int32_t, bool, ::std::int32_t,
::std::int32_t>(
(e4().Ok()
? ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(e4().UncheckedRead()))
: ::emboss::support::Maybe</**/ ::std::int32_t>()),
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(0LL))));
}
template <class Storage>
inline typename ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 1>>,
8>>
GenericComplexView<Storage>::e0() const {
if (has_e0().ValueOr(false)) {
auto emboss_reserved_local_size =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(1LL));
auto emboss_reserved_local_offset =
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(1LL));
if (emboss_reserved_local_size.Known() &&
emboss_reserved_local_size.ValueOr(0) >= 0 &&
emboss_reserved_local_offset.Known() &&
emboss_reserved_local_offset.ValueOr(0) >= 0) {
return ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 1>>,
8>>
(backing_.template GetOffsetStorage<0, 1>(
emboss_reserved_local_offset.ValueOrDefault(),
emboss_reserved_local_size.ValueOrDefault()));
}
}
return ::emboss::prelude::IntView<
/**/ ::emboss::support::FixedSizeViewParameters<
8, ::emboss::support::AllValuesAreOk>,
typename ::emboss::support::BitBlock<
/**/ ::emboss::support::LittleEndianByteOrderer<
typename Storage::template OffsetStorageType</**/ 0, 1>>,
8>>
();
}
template <class Storage>
inline ::emboss::support::Maybe<bool> GenericComplexView<Storage>::has_e0()
const {
return ::emboss::support::Or</**/ bool, bool, bool, bool>(
::emboss::support::LessThan</**/ ::std::int32_t, bool, ::std::int32_t,
::std::int32_t>(
(s().Ok() ? ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(s().UncheckedRead()))
: ::emboss::support::Maybe</**/ ::std::int32_t>()),
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(2LL))),
::emboss::support::LessThan</**/ ::std::int32_t, bool, ::std::int32_t,
::std::int32_t>(
(a0().Ok()
? ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(a0().UncheckedRead()))
: ::emboss::support::Maybe</**/ ::std::int32_t>()),
::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(4LL))));
}
template <class Storage>
inline typename GenericComplexView<
Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView
GenericComplexView<Storage>::IntrinsicSizeInBytes() const {
return typename GenericComplexView<
Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView(*this);
}
template <class Storage>
inline ::emboss::support::Maybe<bool>
GenericComplexView<Storage>::has_IntrinsicSizeInBytes() const {
return ::emboss::support::Maybe</**/ bool>(true);
}
namespace Complex {
inline constexpr ::std::int32_t MaxSizeInBytes() {
return ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(1021LL))
.ValueOrDefault();
}
} // namespace Complex
template <class Storage>
inline constexpr ::std::int32_t GenericComplexView<
Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() {
return Complex::MaxSizeInBytes();
}
template <class Storage>
inline constexpr ::std::int32_t GenericComplexView<
Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() {
return Complex::MaxSizeInBytes();
}
namespace Complex {
inline constexpr ::std::int32_t MinSizeInBytes() {
return ::emboss::support::Maybe</**/ ::std::int32_t>(
static_cast</**/ ::std::int32_t>(9LL))
.ValueOrDefault();
}
} // namespace Complex
template <class Storage>
inline constexpr ::std::int32_t GenericComplexView<
Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() {
return Complex::MinSizeInBytes();
}
template <class Storage>
inline constexpr ::std::int32_t GenericComplexView<
Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() {
return Complex::MinSizeInBytes();
}
} // namespace emboss_test
/* NOLINTEND */
#endif // TESTDATA_COMPLEX_STRUCTURE_EMB_H_