| /** |
| * Generated by the Emboss compiler. DO NOT EDIT! |
| */ |
| #ifndef TESTDATA_CONDITION_EMB_H_ |
| #define TESTDATA_CONDITION_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_prelude.h" |
| |
| #include "runtime/cpp/emboss_enum_view.h" |
| |
| #include "runtime/cpp/emboss_text_util.h" |
| |
| |
| |
| /* NOLINTBEGIN */ |
| namespace emboss { |
| namespace test { |
| namespace BasicConditional { |
| |
| } // namespace BasicConditional |
| |
| |
| template <class Storage> |
| class GenericBasicConditionalView; |
| |
| namespace NegativeConditional { |
| |
| } // namespace NegativeConditional |
| |
| |
| template <class Storage> |
| class GenericNegativeConditionalView; |
| |
| namespace ConditionalAndUnconditionalOverlappingFinalField { |
| |
| } // namespace ConditionalAndUnconditionalOverlappingFinalField |
| |
| |
| template <class Storage> |
| class GenericConditionalAndUnconditionalOverlappingFinalFieldView; |
| |
| namespace ConditionalBasicConditionalFieldFirst { |
| |
| } // namespace ConditionalBasicConditionalFieldFirst |
| |
| |
| template <class Storage> |
| class GenericConditionalBasicConditionalFieldFirstView; |
| |
| namespace ConditionalAndDynamicLocation { |
| |
| } // namespace ConditionalAndDynamicLocation |
| |
| |
| template <class Storage> |
| class GenericConditionalAndDynamicLocationView; |
| |
| namespace ConditionUsesMinInt { |
| |
| } // namespace ConditionUsesMinInt |
| |
| |
| template <class Storage> |
| class GenericConditionUsesMinIntView; |
| |
| namespace NestedConditional { |
| |
| } // namespace NestedConditional |
| |
| |
| template <class Storage> |
| class GenericNestedConditionalView; |
| |
| namespace CorrectNestedConditional { |
| |
| } // namespace CorrectNestedConditional |
| |
| |
| template <class Storage> |
| class GenericCorrectNestedConditionalView; |
| |
| namespace AlwaysFalseCondition { |
| |
| } // namespace AlwaysFalseCondition |
| |
| |
| template <class Storage> |
| class GenericAlwaysFalseConditionView; |
| |
| namespace OnlyAlwaysFalseCondition { |
| |
| } // namespace OnlyAlwaysFalseCondition |
| |
| |
| template <class Storage> |
| class GenericOnlyAlwaysFalseConditionView; |
| |
| namespace EmptyStruct { |
| |
| } // namespace EmptyStruct |
| |
| |
| template <class Storage> |
| class GenericEmptyStructView; |
| |
| namespace AlwaysFalseConditionDynamicSize { |
| |
| } // namespace AlwaysFalseConditionDynamicSize |
| |
| |
| template <class Storage> |
| class GenericAlwaysFalseConditionDynamicSizeView; |
| |
| namespace ConditionDoesNotContributeToSize { |
| |
| } // namespace ConditionDoesNotContributeToSize |
| |
| |
| template <class Storage> |
| class GenericConditionDoesNotContributeToSizeView; |
| |
| enum class OnOff : ::std::uint64_t; |
| |
| namespace EnumCondition { |
| |
| } // namespace EnumCondition |
| |
| |
| template <class Storage> |
| class GenericEnumConditionView; |
| |
| namespace NegativeEnumCondition { |
| |
| } // namespace NegativeEnumCondition |
| |
| |
| template <class Storage> |
| class GenericNegativeEnumConditionView; |
| |
| namespace LessThanCondition { |
| |
| } // namespace LessThanCondition |
| |
| |
| template <class Storage> |
| class GenericLessThanConditionView; |
| |
| namespace LessThanOrEqualCondition { |
| |
| } // namespace LessThanOrEqualCondition |
| |
| |
| template <class Storage> |
| class GenericLessThanOrEqualConditionView; |
| |
| namespace GreaterThanOrEqualCondition { |
| |
| } // namespace GreaterThanOrEqualCondition |
| |
| |
| template <class Storage> |
| class GenericGreaterThanOrEqualConditionView; |
| |
| namespace GreaterThanCondition { |
| |
| } // namespace GreaterThanCondition |
| |
| |
| template <class Storage> |
| class GenericGreaterThanConditionView; |
| |
| namespace RangeCondition { |
| |
| } // namespace RangeCondition |
| |
| |
| template <class Storage> |
| class GenericRangeConditionView; |
| |
| namespace ReverseRangeCondition { |
| |
| } // namespace ReverseRangeCondition |
| |
| |
| template <class Storage> |
| class GenericReverseRangeConditionView; |
| |
| namespace AndCondition { |
| |
| } // namespace AndCondition |
| |
| |
| template <class Storage> |
| class GenericAndConditionView; |
| |
| namespace OrCondition { |
| |
| } // namespace OrCondition |
| |
| |
| template <class Storage> |
| class GenericOrConditionView; |
| |
| namespace ChoiceCondition { |
| enum class Field : ::std::uint64_t; |
| |
| |
| } // namespace ChoiceCondition |
| |
| |
| template <class Storage> |
| class GenericChoiceConditionView; |
| |
| namespace ContainsBits { |
| namespace EmbossReservedAnonymousField3 { |
| |
| } // namespace EmbossReservedAnonymousField3 |
| |
| |
| template <class Storage> |
| class GenericEmbossReservedAnonymousField3View; |
| |
| |
| } // namespace ContainsBits |
| |
| |
| template <class Storage> |
| class GenericContainsBitsView; |
| |
| namespace ContainsContainsBits { |
| |
| } // namespace ContainsContainsBits |
| |
| |
| template <class Storage> |
| class GenericContainsContainsBitsView; |
| |
| namespace ConditionalInline { |
| namespace Type0 { |
| |
| } // namespace Type0 |
| |
| |
| template <class Storage> |
| class GenericType0View; |
| |
| |
| namespace Type1 { |
| |
| } // namespace Type1 |
| |
| |
| template <class Storage> |
| class GenericType1View; |
| |
| |
| } // namespace ConditionalInline |
| |
| |
| template <class Storage> |
| class GenericConditionalInlineView; |
| |
| namespace ConditionalAnonymous { |
| namespace EmbossReservedAnonymousField2 { |
| |
| } // namespace EmbossReservedAnonymousField2 |
| |
| |
| template <class Storage> |
| class GenericEmbossReservedAnonymousField2View; |
| |
| |
| } // namespace ConditionalAnonymous |
| |
| |
| template <class Storage> |
| class GenericConditionalAnonymousView; |
| |
| namespace ConditionalOnFlag { |
| namespace EmbossReservedAnonymousField1 { |
| |
| } // namespace EmbossReservedAnonymousField1 |
| |
| |
| template <class Storage> |
| class GenericEmbossReservedAnonymousField1View; |
| |
| |
| } // namespace ConditionalOnFlag |
| |
| |
| template <class Storage> |
| class GenericConditionalOnFlagView; |
| |
| |
| |
| |
| |
| |
| namespace BasicConditional { |
| |
| } // namespace BasicConditional |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericBasicConditionalView; |
| |
| template <class Storage> |
| class GenericBasicConditionalView final { |
| public: |
| GenericBasicConditionalView() : backing_() {} |
| explicit GenericBasicConditionalView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericBasicConditionalView( |
| const GenericBasicConditionalView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericBasicConditionalView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericBasicConditionalView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericBasicConditionalView( |
| 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> |
| GenericBasicConditionalView<Storage> &operator=( |
| const GenericBasicConditionalView<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_xc().Known()) return false; |
| if (has_xc().ValueOrDefault() && !xc().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()); |
| } |
| ::std::size_t SizeInBytes() const { |
| return static_cast</**/ ::std::size_t>(IntrinsicSizeInBytes().Read()); |
| } |
| bool SizeIsKnown() const { return IntrinsicSizeInBytes().Ok(); } |
| |
| |
| |
| template <typename OtherStorage> |
| bool Equals( |
| GenericBasicConditionalView<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_xc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| !has_xc().ValueOrDefault()) |
| return false; |
| if (has_xc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| has_xc().ValueOrDefault() && |
| !xc().Equals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericBasicConditionalView<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_xc().ValueOr(false) && |
| !has_xc().ValueOr(false)) |
| return false; |
| if (has_xc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| has_xc().ValueOr(false) && |
| !xc().UncheckedEquals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericBasicConditionalView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericBasicConditionalView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericBasicConditionalView<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 == "x") { |
| if (!x().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xc") { |
| if (!xc().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_xc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xc().IsAggregate() || xc().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("xc: "); |
| xc().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() && |
| !xc().IsAggregate() && !xc().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("# xc: 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>> |
| |
| x() const; |
| ::emboss::support::Maybe<bool> has_x() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| xc() const; |
| ::emboss::support::Maybe<bool> has_xc() const; |
| |
| public: |
| class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final { |
| public: |
| using ValueType = ::std::int32_t; |
| |
| explicit EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| const GenericBasicConditionalView &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_.x(); |
| 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::Equal</**/::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>(0LL))); |
| const auto emboss_reserved_local_subexpr_4 = ::emboss::support::Choice</**/::std::int32_t, ::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_3, ::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_5 = ::emboss::support::Maximum</**/::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_reserved_local_subexpr_4); |
| |
| return emboss_reserved_local_subexpr_5; |
| } |
| |
| 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 GenericBasicConditionalView 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 GenericBasicConditionalView; |
| }; |
| using BasicConditionalView = |
| GenericBasicConditionalView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using BasicConditionalWriter = |
| GenericBasicConditionalView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericBasicConditionalView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericBasicConditionalView< |
| GenericBasicConditionalView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericBasicConditionalView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeBasicConditionalView( T &&emboss_reserved_local_arg) { |
| return GenericBasicConditionalView< |
| /**/ ::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 GenericBasicConditionalView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeBasicConditionalView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericBasicConditionalView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericBasicConditionalView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedBasicConditionalView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericBasicConditionalView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| namespace NegativeConditional { |
| |
| } // namespace NegativeConditional |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericNegativeConditionalView; |
| |
| template <class Storage> |
| class GenericNegativeConditionalView final { |
| public: |
| GenericNegativeConditionalView() : backing_() {} |
| explicit GenericNegativeConditionalView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericNegativeConditionalView( |
| const GenericNegativeConditionalView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericNegativeConditionalView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericNegativeConditionalView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericNegativeConditionalView( |
| 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> |
| GenericNegativeConditionalView<Storage> &operator=( |
| const GenericNegativeConditionalView<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_xc().Known()) return false; |
| if (has_xc().ValueOrDefault() && !xc().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()); |
| } |
| ::std::size_t SizeInBytes() const { |
| return static_cast</**/ ::std::size_t>(IntrinsicSizeInBytes().Read()); |
| } |
| bool SizeIsKnown() const { return IntrinsicSizeInBytes().Ok(); } |
| |
| |
| |
| template <typename OtherStorage> |
| bool Equals( |
| GenericNegativeConditionalView<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_xc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| !has_xc().ValueOrDefault()) |
| return false; |
| if (has_xc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| has_xc().ValueOrDefault() && |
| !xc().Equals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericNegativeConditionalView<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_xc().ValueOr(false) && |
| !has_xc().ValueOr(false)) |
| return false; |
| if (has_xc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| has_xc().ValueOr(false) && |
| !xc().UncheckedEquals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericNegativeConditionalView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericNegativeConditionalView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericNegativeConditionalView<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 == "x") { |
| if (!x().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xc") { |
| if (!xc().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_xc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xc().IsAggregate() || xc().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("xc: "); |
| xc().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() && |
| !xc().IsAggregate() && !xc().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("# xc: 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>> |
| |
| x() const; |
| ::emboss::support::Maybe<bool> has_x() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| xc() const; |
| ::emboss::support::Maybe<bool> has_xc() const; |
| |
| public: |
| class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final { |
| public: |
| using ValueType = ::std::int32_t; |
| |
| explicit EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| const GenericNegativeConditionalView &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_.x(); |
| 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::NotEqual</**/::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>(0LL))); |
| const auto emboss_reserved_local_subexpr_4 = ::emboss::support::Choice</**/::std::int32_t, ::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_3, ::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_5 = ::emboss::support::Maximum</**/::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_reserved_local_subexpr_4); |
| |
| return emboss_reserved_local_subexpr_5; |
| } |
| |
| 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 GenericNegativeConditionalView 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 GenericNegativeConditionalView; |
| }; |
| using NegativeConditionalView = |
| GenericNegativeConditionalView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using NegativeConditionalWriter = |
| GenericNegativeConditionalView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericNegativeConditionalView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericNegativeConditionalView< |
| GenericNegativeConditionalView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericNegativeConditionalView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeNegativeConditionalView( T &&emboss_reserved_local_arg) { |
| return GenericNegativeConditionalView< |
| /**/ ::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 GenericNegativeConditionalView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeNegativeConditionalView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericNegativeConditionalView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericNegativeConditionalView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedNegativeConditionalView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericNegativeConditionalView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| |
| namespace ConditionalAndUnconditionalOverlappingFinalField { |
| |
| } // namespace ConditionalAndUnconditionalOverlappingFinalField |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericConditionalAndUnconditionalOverlappingFinalFieldView; |
| |
| template <class Storage> |
| class GenericConditionalAndUnconditionalOverlappingFinalFieldView final { |
| public: |
| GenericConditionalAndUnconditionalOverlappingFinalFieldView() : backing_() {} |
| explicit GenericConditionalAndUnconditionalOverlappingFinalFieldView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericConditionalAndUnconditionalOverlappingFinalFieldView( |
| const GenericConditionalAndUnconditionalOverlappingFinalFieldView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericConditionalAndUnconditionalOverlappingFinalFieldView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericConditionalAndUnconditionalOverlappingFinalFieldView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericConditionalAndUnconditionalOverlappingFinalFieldView( |
| 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> |
| GenericConditionalAndUnconditionalOverlappingFinalFieldView<Storage> &operator=( |
| const GenericConditionalAndUnconditionalOverlappingFinalFieldView<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_xc().Known()) return false; |
| if (has_xc().ValueOrDefault() && !xc().Ok()) return false; |
| |
| |
| if (!has_z().Known()) return false; |
| if (has_z().ValueOrDefault() && !z().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( |
| GenericConditionalAndUnconditionalOverlappingFinalFieldView<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_xc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| !has_xc().ValueOrDefault()) |
| return false; |
| if (has_xc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| has_xc().ValueOrDefault() && |
| !xc().Equals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| |
| |
| if (!has_z().Known()) return false; |
| if (!emboss_reserved_local_other.has_z().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_z().ValueOrDefault() && |
| !has_z().ValueOrDefault()) |
| return false; |
| if (has_z().ValueOrDefault() && |
| !emboss_reserved_local_other.has_z().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_z().ValueOrDefault() && |
| has_z().ValueOrDefault() && |
| !z().Equals(emboss_reserved_local_other.z())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericConditionalAndUnconditionalOverlappingFinalFieldView<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_xc().ValueOr(false) && |
| !has_xc().ValueOr(false)) |
| return false; |
| if (has_xc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| has_xc().ValueOr(false) && |
| !xc().UncheckedEquals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| |
| |
| if (emboss_reserved_local_other.has_z().ValueOr(false) && |
| !has_z().ValueOr(false)) |
| return false; |
| if (has_z().ValueOr(false) && |
| !emboss_reserved_local_other.has_z().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_z().ValueOr(false) && |
| has_z().ValueOr(false) && |
| !z().UncheckedEquals(emboss_reserved_local_other.z())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericConditionalAndUnconditionalOverlappingFinalFieldView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericConditionalAndUnconditionalOverlappingFinalFieldView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericConditionalAndUnconditionalOverlappingFinalFieldView<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 == "x") { |
| if (!x().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xc") { |
| if (!xc().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "z") { |
| if (!z().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_xc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xc().IsAggregate() || xc().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("xc: "); |
| xc().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() && |
| !xc().IsAggregate() && !xc().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("# xc: UNREADABLE\n"); |
| } |
| } |
| |
| if (has_z().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| z().IsAggregate() || z().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("z: "); |
| z().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() && |
| !z().IsAggregate() && !z().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("# z: 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>> |
| |
| x() const; |
| ::emboss::support::Maybe<bool> has_x() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| xc() const; |
| ::emboss::support::Maybe<bool> has_xc() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| z() const; |
| ::emboss::support::Maybe<bool> has_z() 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 GenericConditionalAndUnconditionalOverlappingFinalFieldView; |
| }; |
| using ConditionalAndUnconditionalOverlappingFinalFieldView = |
| GenericConditionalAndUnconditionalOverlappingFinalFieldView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using ConditionalAndUnconditionalOverlappingFinalFieldWriter = |
| GenericConditionalAndUnconditionalOverlappingFinalFieldView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericConditionalAndUnconditionalOverlappingFinalFieldView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericConditionalAndUnconditionalOverlappingFinalFieldView< |
| GenericConditionalAndUnconditionalOverlappingFinalFieldView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericConditionalAndUnconditionalOverlappingFinalFieldView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeConditionalAndUnconditionalOverlappingFinalFieldView( T &&emboss_reserved_local_arg) { |
| return GenericConditionalAndUnconditionalOverlappingFinalFieldView< |
| /**/ ::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 GenericConditionalAndUnconditionalOverlappingFinalFieldView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeConditionalAndUnconditionalOverlappingFinalFieldView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericConditionalAndUnconditionalOverlappingFinalFieldView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericConditionalAndUnconditionalOverlappingFinalFieldView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedConditionalAndUnconditionalOverlappingFinalFieldView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericConditionalAndUnconditionalOverlappingFinalFieldView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| namespace ConditionalBasicConditionalFieldFirst { |
| |
| } // namespace ConditionalBasicConditionalFieldFirst |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericConditionalBasicConditionalFieldFirstView; |
| |
| template <class Storage> |
| class GenericConditionalBasicConditionalFieldFirstView final { |
| public: |
| GenericConditionalBasicConditionalFieldFirstView() : backing_() {} |
| explicit GenericConditionalBasicConditionalFieldFirstView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericConditionalBasicConditionalFieldFirstView( |
| const GenericConditionalBasicConditionalFieldFirstView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericConditionalBasicConditionalFieldFirstView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericConditionalBasicConditionalFieldFirstView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericConditionalBasicConditionalFieldFirstView( |
| 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> |
| GenericConditionalBasicConditionalFieldFirstView<Storage> &operator=( |
| const GenericConditionalBasicConditionalFieldFirstView<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_xc().Known()) return false; |
| if (has_xc().ValueOrDefault() && !xc().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( |
| GenericConditionalBasicConditionalFieldFirstView<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_xc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| !has_xc().ValueOrDefault()) |
| return false; |
| if (has_xc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| has_xc().ValueOrDefault() && |
| !xc().Equals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericConditionalBasicConditionalFieldFirstView<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_xc().ValueOr(false) && |
| !has_xc().ValueOr(false)) |
| return false; |
| if (has_xc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| has_xc().ValueOr(false) && |
| !xc().UncheckedEquals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericConditionalBasicConditionalFieldFirstView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericConditionalBasicConditionalFieldFirstView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericConditionalBasicConditionalFieldFirstView<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 == "x") { |
| if (!x().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xc") { |
| if (!xc().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_xc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xc().IsAggregate() || xc().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("xc: "); |
| xc().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() && |
| !xc().IsAggregate() && !xc().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("# xc: 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, 1>>, 8>> |
| |
| x() const; |
| ::emboss::support::Maybe<bool> has_x() const; |
| |
| 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>> |
| |
| xc() const; |
| ::emboss::support::Maybe<bool> has_xc() 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 GenericConditionalBasicConditionalFieldFirstView; |
| }; |
| using ConditionalBasicConditionalFieldFirstView = |
| GenericConditionalBasicConditionalFieldFirstView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using ConditionalBasicConditionalFieldFirstWriter = |
| GenericConditionalBasicConditionalFieldFirstView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericConditionalBasicConditionalFieldFirstView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericConditionalBasicConditionalFieldFirstView< |
| GenericConditionalBasicConditionalFieldFirstView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericConditionalBasicConditionalFieldFirstView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeConditionalBasicConditionalFieldFirstView( T &&emboss_reserved_local_arg) { |
| return GenericConditionalBasicConditionalFieldFirstView< |
| /**/ ::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 GenericConditionalBasicConditionalFieldFirstView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeConditionalBasicConditionalFieldFirstView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericConditionalBasicConditionalFieldFirstView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericConditionalBasicConditionalFieldFirstView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedConditionalBasicConditionalFieldFirstView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericConditionalBasicConditionalFieldFirstView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| |
| namespace ConditionalAndDynamicLocation { |
| |
| } // namespace ConditionalAndDynamicLocation |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericConditionalAndDynamicLocationView; |
| |
| template <class Storage> |
| class GenericConditionalAndDynamicLocationView final { |
| public: |
| GenericConditionalAndDynamicLocationView() : backing_() {} |
| explicit GenericConditionalAndDynamicLocationView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericConditionalAndDynamicLocationView( |
| const GenericConditionalAndDynamicLocationView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericConditionalAndDynamicLocationView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericConditionalAndDynamicLocationView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericConditionalAndDynamicLocationView( |
| 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> |
| GenericConditionalAndDynamicLocationView<Storage> &operator=( |
| const GenericConditionalAndDynamicLocationView<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_y().Known()) return false; |
| if (has_y().ValueOrDefault() && !y().Ok()) return false; |
| |
| |
| if (!has_xc().Known()) return false; |
| if (has_xc().ValueOrDefault() && !xc().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()); |
| } |
| ::std::size_t SizeInBytes() const { |
| return static_cast</**/ ::std::size_t>(IntrinsicSizeInBytes().Read()); |
| } |
| bool SizeIsKnown() const { return IntrinsicSizeInBytes().Ok(); } |
| |
| |
| |
| template <typename OtherStorage> |
| bool Equals( |
| GenericConditionalAndDynamicLocationView<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_y().Known()) return false; |
| if (!emboss_reserved_local_other.has_y().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_y().ValueOrDefault() && |
| !has_y().ValueOrDefault()) |
| return false; |
| if (has_y().ValueOrDefault() && |
| !emboss_reserved_local_other.has_y().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_y().ValueOrDefault() && |
| has_y().ValueOrDefault() && |
| !y().Equals(emboss_reserved_local_other.y())) |
| return false; |
| |
| |
| |
| if (!has_xc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| !has_xc().ValueOrDefault()) |
| return false; |
| if (has_xc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| has_xc().ValueOrDefault() && |
| !xc().Equals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericConditionalAndDynamicLocationView<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_y().ValueOr(false) && |
| !has_y().ValueOr(false)) |
| return false; |
| if (has_y().ValueOr(false) && |
| !emboss_reserved_local_other.has_y().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_y().ValueOr(false) && |
| has_y().ValueOr(false) && |
| !y().UncheckedEquals(emboss_reserved_local_other.y())) |
| return false; |
| |
| |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| !has_xc().ValueOr(false)) |
| return false; |
| if (has_xc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| has_xc().ValueOr(false) && |
| !xc().UncheckedEquals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericConditionalAndDynamicLocationView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericConditionalAndDynamicLocationView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericConditionalAndDynamicLocationView<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 == "x") { |
| if (!x().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "y") { |
| if (!y().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xc") { |
| if (!xc().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_y().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| y().IsAggregate() || y().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("y: "); |
| y().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() && |
| !y().IsAggregate() && !y().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("# y: UNREADABLE\n"); |
| } |
| } |
| |
| if (has_xc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xc().IsAggregate() || xc().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("xc: "); |
| xc().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() && |
| !xc().IsAggregate() && !xc().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("# xc: 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>> |
| |
| x() const; |
| ::emboss::support::Maybe<bool> has_x() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| y() const; |
| ::emboss::support::Maybe<bool> has_y() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/1, 0>>, 8>> |
| |
| xc() const; |
| ::emboss::support::Maybe<bool> has_xc() const; |
| |
| public: |
| class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final { |
| public: |
| using ValueType = ::std::int32_t; |
| |
| explicit EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| const GenericConditionalAndDynamicLocationView &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_.x(); |
| 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::Equal</**/::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>(0LL))); |
| const auto emboss_reserved_local_subexpr_4 = view_.y(); |
| const auto emboss_reserved_local_subexpr_5 = (emboss_reserved_local_subexpr_4.Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(emboss_reserved_local_subexpr_4.UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()); |
| const auto emboss_reserved_local_subexpr_6 = ::emboss::support::Sum</**/::std::int32_t, ::std::int32_t, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_5, ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL))); |
| const auto emboss_reserved_local_subexpr_7 = ::emboss::support::Choice</**/::std::int32_t, ::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_3, emboss_reserved_local_subexpr_6, ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL))); |
| const auto emboss_reserved_local_subexpr_8 = ::emboss::support::Maximum</**/::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>(3LL)), emboss_reserved_local_subexpr_7); |
| |
| return emboss_reserved_local_subexpr_8; |
| } |
| |
| 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 GenericConditionalAndDynamicLocationView 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 GenericConditionalAndDynamicLocationView; |
| }; |
| using ConditionalAndDynamicLocationView = |
| GenericConditionalAndDynamicLocationView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using ConditionalAndDynamicLocationWriter = |
| GenericConditionalAndDynamicLocationView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericConditionalAndDynamicLocationView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericConditionalAndDynamicLocationView< |
| GenericConditionalAndDynamicLocationView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericConditionalAndDynamicLocationView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeConditionalAndDynamicLocationView( T &&emboss_reserved_local_arg) { |
| return GenericConditionalAndDynamicLocationView< |
| /**/ ::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 GenericConditionalAndDynamicLocationView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeConditionalAndDynamicLocationView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericConditionalAndDynamicLocationView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericConditionalAndDynamicLocationView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedConditionalAndDynamicLocationView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericConditionalAndDynamicLocationView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| namespace ConditionUsesMinInt { |
| |
| } // namespace ConditionUsesMinInt |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericConditionUsesMinIntView; |
| |
| template <class Storage> |
| class GenericConditionUsesMinIntView final { |
| public: |
| GenericConditionUsesMinIntView() : backing_() {} |
| explicit GenericConditionUsesMinIntView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericConditionUsesMinIntView( |
| const GenericConditionUsesMinIntView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericConditionUsesMinIntView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericConditionUsesMinIntView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericConditionUsesMinIntView( |
| 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> |
| GenericConditionUsesMinIntView<Storage> &operator=( |
| const GenericConditionUsesMinIntView<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_xc().Known()) return false; |
| if (has_xc().ValueOrDefault() && !xc().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()); |
| } |
| ::std::size_t SizeInBytes() const { |
| return static_cast</**/ ::std::size_t>(IntrinsicSizeInBytes().Read()); |
| } |
| bool SizeIsKnown() const { return IntrinsicSizeInBytes().Ok(); } |
| |
| |
| |
| template <typename OtherStorage> |
| bool Equals( |
| GenericConditionUsesMinIntView<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_xc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| !has_xc().ValueOrDefault()) |
| return false; |
| if (has_xc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| has_xc().ValueOrDefault() && |
| !xc().Equals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericConditionUsesMinIntView<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_xc().ValueOr(false) && |
| !has_xc().ValueOr(false)) |
| return false; |
| if (has_xc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| has_xc().ValueOr(false) && |
| !xc().UncheckedEquals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericConditionUsesMinIntView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericConditionUsesMinIntView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericConditionUsesMinIntView<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 == "x") { |
| if (!x().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xc") { |
| if (!xc().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_xc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xc().IsAggregate() || xc().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("xc: "); |
| xc().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() && |
| !xc().IsAggregate() && !xc().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("# xc: 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 ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 0>>, 8>> |
| |
| x() const; |
| ::emboss::support::Maybe<bool> has_x() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| xc() const; |
| ::emboss::support::Maybe<bool> has_xc() const; |
| |
| public: |
| class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final { |
| public: |
| using ValueType = ::std::int32_t; |
| |
| explicit EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| const GenericConditionUsesMinIntView &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_.x(); |
| 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::Difference</**/::std::int64_t, ::std::int64_t, ::std::int32_t, ::std::int64_t>(emboss_reserved_local_subexpr_2, ::emboss::support::Maybe</**/::std::int64_t>(static_cast</**/::std::int64_t>(9223372036854775680LL))); |
| const auto emboss_reserved_local_subexpr_4 = ::emboss::support::Equal</**/::std::int64_t, bool, ::std::int64_t, ::std::int64_t>(emboss_reserved_local_subexpr_3, ::emboss::support::Maybe</**/::std::int64_t>(static_cast</**/::std::int64_t>(-9223372036854775807LL - 1))); |
| const auto emboss_reserved_local_subexpr_5 = ::emboss::support::Choice</**/::std::int32_t, ::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_4, ::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_6 = ::emboss::support::Maximum</**/::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_reserved_local_subexpr_5); |
| |
| return emboss_reserved_local_subexpr_6; |
| } |
| |
| 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 GenericConditionUsesMinIntView 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 GenericConditionUsesMinIntView; |
| }; |
| using ConditionUsesMinIntView = |
| GenericConditionUsesMinIntView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using ConditionUsesMinIntWriter = |
| GenericConditionUsesMinIntView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericConditionUsesMinIntView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericConditionUsesMinIntView< |
| GenericConditionUsesMinIntView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericConditionUsesMinIntView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeConditionUsesMinIntView( T &&emboss_reserved_local_arg) { |
| return GenericConditionUsesMinIntView< |
| /**/ ::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 GenericConditionUsesMinIntView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeConditionUsesMinIntView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericConditionUsesMinIntView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericConditionUsesMinIntView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedConditionUsesMinIntView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericConditionUsesMinIntView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| |
| namespace NestedConditional { |
| |
| } // namespace NestedConditional |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericNestedConditionalView; |
| |
| template <class Storage> |
| class GenericNestedConditionalView final { |
| public: |
| GenericNestedConditionalView() : backing_() {} |
| explicit GenericNestedConditionalView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericNestedConditionalView( |
| const GenericNestedConditionalView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericNestedConditionalView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericNestedConditionalView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericNestedConditionalView( |
| 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> |
| GenericNestedConditionalView<Storage> &operator=( |
| const GenericNestedConditionalView<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_xc().Known()) return false; |
| if (has_xc().ValueOrDefault() && !xc().Ok()) return false; |
| |
| |
| if (!has_xcc().Known()) return false; |
| if (has_xcc().ValueOrDefault() && !xcc().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()); |
| } |
| ::std::size_t SizeInBytes() const { |
| return static_cast</**/ ::std::size_t>(IntrinsicSizeInBytes().Read()); |
| } |
| bool SizeIsKnown() const { return IntrinsicSizeInBytes().Ok(); } |
| |
| |
| |
| template <typename OtherStorage> |
| bool Equals( |
| GenericNestedConditionalView<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_xc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| !has_xc().ValueOrDefault()) |
| return false; |
| if (has_xc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| has_xc().ValueOrDefault() && |
| !xc().Equals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| |
| |
| if (!has_xcc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xcc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xcc().ValueOrDefault() && |
| !has_xcc().ValueOrDefault()) |
| return false; |
| if (has_xcc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xcc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xcc().ValueOrDefault() && |
| has_xcc().ValueOrDefault() && |
| !xcc().Equals(emboss_reserved_local_other.xcc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericNestedConditionalView<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_xc().ValueOr(false) && |
| !has_xc().ValueOr(false)) |
| return false; |
| if (has_xc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| has_xc().ValueOr(false) && |
| !xc().UncheckedEquals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| |
| |
| if (emboss_reserved_local_other.has_xcc().ValueOr(false) && |
| !has_xcc().ValueOr(false)) |
| return false; |
| if (has_xcc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xcc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xcc().ValueOr(false) && |
| has_xcc().ValueOr(false) && |
| !xcc().UncheckedEquals(emboss_reserved_local_other.xcc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericNestedConditionalView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericNestedConditionalView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericNestedConditionalView<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 == "x") { |
| if (!x().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xc") { |
| if (!xc().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xcc") { |
| if (!xcc().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_xc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xc().IsAggregate() || xc().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("xc: "); |
| xc().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() && |
| !xc().IsAggregate() && !xc().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("# xc: UNREADABLE\n"); |
| } |
| } |
| |
| if (has_xcc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xcc().IsAggregate() || xcc().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("xcc: "); |
| xcc().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() && |
| !xcc().IsAggregate() && !xcc().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("# xcc: 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>> |
| |
| x() const; |
| ::emboss::support::Maybe<bool> has_x() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| xc() const; |
| ::emboss::support::Maybe<bool> has_xc() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| xcc() const; |
| ::emboss::support::Maybe<bool> has_xcc() const; |
| |
| public: |
| class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final { |
| public: |
| using ValueType = ::std::int32_t; |
| |
| explicit EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| const GenericNestedConditionalView &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_.x(); |
| 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::Equal</**/::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>(0LL))); |
| const auto emboss_reserved_local_subexpr_4 = ::emboss::support::Choice</**/::std::int32_t, ::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_3, ::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_5 = view_.xc(); |
| const auto emboss_reserved_local_subexpr_6 = (emboss_reserved_local_subexpr_5.Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(emboss_reserved_local_subexpr_5.UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()); |
| const auto emboss_reserved_local_subexpr_7 = ::emboss::support::Equal</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_6, ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL))); |
| const auto emboss_reserved_local_subexpr_8 = ::emboss::support::Choice</**/::std::int32_t, ::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>(3LL)), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL))); |
| const auto emboss_reserved_local_subexpr_9 = ::emboss::support::Maximum</**/::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_reserved_local_subexpr_4, emboss_reserved_local_subexpr_8); |
| |
| return emboss_reserved_local_subexpr_9; |
| } |
| |
| 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 GenericNestedConditionalView 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 GenericNestedConditionalView; |
| }; |
| using NestedConditionalView = |
| GenericNestedConditionalView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using NestedConditionalWriter = |
| GenericNestedConditionalView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericNestedConditionalView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericNestedConditionalView< |
| GenericNestedConditionalView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericNestedConditionalView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeNestedConditionalView( T &&emboss_reserved_local_arg) { |
| return GenericNestedConditionalView< |
| /**/ ::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 GenericNestedConditionalView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeNestedConditionalView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericNestedConditionalView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericNestedConditionalView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedNestedConditionalView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericNestedConditionalView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| |
| namespace CorrectNestedConditional { |
| |
| } // namespace CorrectNestedConditional |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericCorrectNestedConditionalView; |
| |
| template <class Storage> |
| class GenericCorrectNestedConditionalView final { |
| public: |
| GenericCorrectNestedConditionalView() : backing_() {} |
| explicit GenericCorrectNestedConditionalView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericCorrectNestedConditionalView( |
| const GenericCorrectNestedConditionalView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericCorrectNestedConditionalView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericCorrectNestedConditionalView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericCorrectNestedConditionalView( |
| 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> |
| GenericCorrectNestedConditionalView<Storage> &operator=( |
| const GenericCorrectNestedConditionalView<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_xc().Known()) return false; |
| if (has_xc().ValueOrDefault() && !xc().Ok()) return false; |
| |
| |
| if (!has_xcc().Known()) return false; |
| if (has_xcc().ValueOrDefault() && !xcc().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()); |
| } |
| ::std::size_t SizeInBytes() const { |
| return static_cast</**/ ::std::size_t>(IntrinsicSizeInBytes().Read()); |
| } |
| bool SizeIsKnown() const { return IntrinsicSizeInBytes().Ok(); } |
| |
| |
| |
| template <typename OtherStorage> |
| bool Equals( |
| GenericCorrectNestedConditionalView<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_xc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| !has_xc().ValueOrDefault()) |
| return false; |
| if (has_xc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| has_xc().ValueOrDefault() && |
| !xc().Equals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| |
| |
| if (!has_xcc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xcc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xcc().ValueOrDefault() && |
| !has_xcc().ValueOrDefault()) |
| return false; |
| if (has_xcc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xcc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xcc().ValueOrDefault() && |
| has_xcc().ValueOrDefault() && |
| !xcc().Equals(emboss_reserved_local_other.xcc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericCorrectNestedConditionalView<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_xc().ValueOr(false) && |
| !has_xc().ValueOr(false)) |
| return false; |
| if (has_xc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| has_xc().ValueOr(false) && |
| !xc().UncheckedEquals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| |
| |
| if (emboss_reserved_local_other.has_xcc().ValueOr(false) && |
| !has_xcc().ValueOr(false)) |
| return false; |
| if (has_xcc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xcc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xcc().ValueOr(false) && |
| has_xcc().ValueOr(false) && |
| !xcc().UncheckedEquals(emboss_reserved_local_other.xcc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericCorrectNestedConditionalView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericCorrectNestedConditionalView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericCorrectNestedConditionalView<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 == "x") { |
| if (!x().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xc") { |
| if (!xc().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xcc") { |
| if (!xcc().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_xc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xc().IsAggregate() || xc().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("xc: "); |
| xc().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() && |
| !xc().IsAggregate() && !xc().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("# xc: UNREADABLE\n"); |
| } |
| } |
| |
| if (has_xcc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xcc().IsAggregate() || xcc().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("xcc: "); |
| xcc().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() && |
| !xcc().IsAggregate() && !xcc().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("# xcc: 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>> |
| |
| x() const; |
| ::emboss::support::Maybe<bool> has_x() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| xc() const; |
| ::emboss::support::Maybe<bool> has_xc() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| xcc() const; |
| ::emboss::support::Maybe<bool> has_xcc() const; |
| |
| public: |
| class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final { |
| public: |
| using ValueType = ::std::int32_t; |
| |
| explicit EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| const GenericCorrectNestedConditionalView &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_.x(); |
| 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::Equal</**/::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>(0LL))); |
| const auto emboss_reserved_local_subexpr_4 = ::emboss::support::Choice</**/::std::int32_t, ::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_3, ::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_5 = view_.xc(); |
| const auto emboss_reserved_local_subexpr_6 = (emboss_reserved_local_subexpr_5.Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(emboss_reserved_local_subexpr_5.UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()); |
| const auto emboss_reserved_local_subexpr_7 = ::emboss::support::Equal</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_6, ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL))); |
| const auto emboss_reserved_local_subexpr_8 = ::emboss::support::And</**/bool, bool, bool, bool>(emboss_reserved_local_subexpr_3, emboss_reserved_local_subexpr_7); |
| 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>(3LL)), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL))); |
| const auto emboss_reserved_local_subexpr_10 = ::emboss::support::Maximum</**/::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_reserved_local_subexpr_4, emboss_reserved_local_subexpr_9); |
| |
| return emboss_reserved_local_subexpr_10; |
| } |
| |
| 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 GenericCorrectNestedConditionalView 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 GenericCorrectNestedConditionalView; |
| }; |
| using CorrectNestedConditionalView = |
| GenericCorrectNestedConditionalView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using CorrectNestedConditionalWriter = |
| GenericCorrectNestedConditionalView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericCorrectNestedConditionalView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericCorrectNestedConditionalView< |
| GenericCorrectNestedConditionalView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericCorrectNestedConditionalView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeCorrectNestedConditionalView( T &&emboss_reserved_local_arg) { |
| return GenericCorrectNestedConditionalView< |
| /**/ ::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 GenericCorrectNestedConditionalView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeCorrectNestedConditionalView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericCorrectNestedConditionalView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericCorrectNestedConditionalView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedCorrectNestedConditionalView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericCorrectNestedConditionalView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| namespace AlwaysFalseCondition { |
| |
| } // namespace AlwaysFalseCondition |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericAlwaysFalseConditionView; |
| |
| template <class Storage> |
| class GenericAlwaysFalseConditionView final { |
| public: |
| GenericAlwaysFalseConditionView() : backing_() {} |
| explicit GenericAlwaysFalseConditionView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericAlwaysFalseConditionView( |
| const GenericAlwaysFalseConditionView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericAlwaysFalseConditionView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericAlwaysFalseConditionView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericAlwaysFalseConditionView( |
| 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> |
| GenericAlwaysFalseConditionView<Storage> &operator=( |
| const GenericAlwaysFalseConditionView<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_xc().Known()) return false; |
| if (has_xc().ValueOrDefault() && !xc().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( |
| GenericAlwaysFalseConditionView<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_xc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| !has_xc().ValueOrDefault()) |
| return false; |
| if (has_xc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| has_xc().ValueOrDefault() && |
| !xc().Equals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericAlwaysFalseConditionView<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_xc().ValueOr(false) && |
| !has_xc().ValueOr(false)) |
| return false; |
| if (has_xc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| has_xc().ValueOr(false) && |
| !xc().UncheckedEquals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericAlwaysFalseConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericAlwaysFalseConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericAlwaysFalseConditionView<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 == "x") { |
| if (!x().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xc") { |
| if (!xc().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_xc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xc().IsAggregate() || xc().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("xc: "); |
| xc().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() && |
| !xc().IsAggregate() && !xc().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("# xc: 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>> |
| |
| x() const; |
| ::emboss::support::Maybe<bool> has_x() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| xc() const; |
| ::emboss::support::Maybe<bool> has_xc() 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 GenericAlwaysFalseConditionView; |
| }; |
| using AlwaysFalseConditionView = |
| GenericAlwaysFalseConditionView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using AlwaysFalseConditionWriter = |
| GenericAlwaysFalseConditionView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericAlwaysFalseConditionView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericAlwaysFalseConditionView< |
| GenericAlwaysFalseConditionView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericAlwaysFalseConditionView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeAlwaysFalseConditionView( T &&emboss_reserved_local_arg) { |
| return GenericAlwaysFalseConditionView< |
| /**/ ::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 GenericAlwaysFalseConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeAlwaysFalseConditionView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericAlwaysFalseConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericAlwaysFalseConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedAlwaysFalseConditionView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericAlwaysFalseConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| namespace OnlyAlwaysFalseCondition { |
| |
| } // namespace OnlyAlwaysFalseCondition |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericOnlyAlwaysFalseConditionView; |
| |
| template <class Storage> |
| class GenericOnlyAlwaysFalseConditionView final { |
| public: |
| GenericOnlyAlwaysFalseConditionView() : backing_() {} |
| explicit GenericOnlyAlwaysFalseConditionView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericOnlyAlwaysFalseConditionView( |
| const GenericOnlyAlwaysFalseConditionView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericOnlyAlwaysFalseConditionView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericOnlyAlwaysFalseConditionView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericOnlyAlwaysFalseConditionView( |
| 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> |
| GenericOnlyAlwaysFalseConditionView<Storage> &operator=( |
| const GenericOnlyAlwaysFalseConditionView<OtherStorage> &emboss_reserved_local_other) { |
| backing_ = emboss_reserved_local_other.BackingStorage(); |
| return *this; |
| } |
| |
| |
| |
| bool Ok() const { |
| if (!IsComplete()) return false; |
| |
| if (!has_xc().Known()) return false; |
| if (has_xc().ValueOrDefault() && !xc().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( |
| GenericOnlyAlwaysFalseConditionView<OtherStorage> emboss_reserved_local_other) const { |
| |
| if (!has_xc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| !has_xc().ValueOrDefault()) |
| return false; |
| if (has_xc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| has_xc().ValueOrDefault() && |
| !xc().Equals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericOnlyAlwaysFalseConditionView<OtherStorage> emboss_reserved_local_other) const { |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| !has_xc().ValueOr(false)) |
| return false; |
| if (has_xc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| has_xc().ValueOr(false) && |
| !xc().UncheckedEquals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericOnlyAlwaysFalseConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericOnlyAlwaysFalseConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericOnlyAlwaysFalseConditionView<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 == "xc") { |
| if (!xc().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_xc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xc().IsAggregate() || xc().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("xc: "); |
| xc().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() && |
| !xc().IsAggregate() && !xc().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("# xc: 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>> |
| |
| xc() const; |
| ::emboss::support::Maybe<bool> has_xc() 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 GenericOnlyAlwaysFalseConditionView; |
| }; |
| using OnlyAlwaysFalseConditionView = |
| GenericOnlyAlwaysFalseConditionView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using OnlyAlwaysFalseConditionWriter = |
| GenericOnlyAlwaysFalseConditionView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericOnlyAlwaysFalseConditionView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericOnlyAlwaysFalseConditionView< |
| GenericOnlyAlwaysFalseConditionView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericOnlyAlwaysFalseConditionView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeOnlyAlwaysFalseConditionView( T &&emboss_reserved_local_arg) { |
| return GenericOnlyAlwaysFalseConditionView< |
| /**/ ::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 GenericOnlyAlwaysFalseConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeOnlyAlwaysFalseConditionView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericOnlyAlwaysFalseConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericOnlyAlwaysFalseConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedOnlyAlwaysFalseConditionView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericOnlyAlwaysFalseConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| namespace EmptyStruct { |
| |
| } // namespace EmptyStruct |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericEmptyStructView; |
| |
| template <class Storage> |
| class GenericEmptyStructView final { |
| public: |
| GenericEmptyStructView() : backing_() {} |
| explicit GenericEmptyStructView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericEmptyStructView( |
| const GenericEmptyStructView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericEmptyStructView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericEmptyStructView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericEmptyStructView( |
| 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> |
| GenericEmptyStructView<Storage> &operator=( |
| const GenericEmptyStructView<OtherStorage> &emboss_reserved_local_other) { |
| backing_ = emboss_reserved_local_other.BackingStorage(); |
| return *this; |
| } |
| |
| |
| |
| bool Ok() const { |
| if (!IsComplete()) 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( |
| GenericEmptyStructView<OtherStorage> emboss_reserved_local_other) const { |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericEmptyStructView<OtherStorage> emboss_reserved_local_other) const { |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericEmptyStructView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericEmptyStructView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericEmptyStructView<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; |
| |
| 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; |
| |
| (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: |
| 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 GenericEmptyStructView; |
| }; |
| using EmptyStructView = |
| GenericEmptyStructView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using EmptyStructWriter = |
| GenericEmptyStructView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericEmptyStructView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericEmptyStructView< |
| GenericEmptyStructView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericEmptyStructView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeEmptyStructView( T &&emboss_reserved_local_arg) { |
| return GenericEmptyStructView< |
| /**/ ::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 GenericEmptyStructView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeEmptyStructView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericEmptyStructView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericEmptyStructView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedEmptyStructView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericEmptyStructView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| |
| namespace AlwaysFalseConditionDynamicSize { |
| |
| } // namespace AlwaysFalseConditionDynamicSize |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericAlwaysFalseConditionDynamicSizeView; |
| |
| template <class Storage> |
| class GenericAlwaysFalseConditionDynamicSizeView final { |
| public: |
| GenericAlwaysFalseConditionDynamicSizeView() : backing_() {} |
| explicit GenericAlwaysFalseConditionDynamicSizeView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericAlwaysFalseConditionDynamicSizeView( |
| const GenericAlwaysFalseConditionDynamicSizeView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericAlwaysFalseConditionDynamicSizeView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericAlwaysFalseConditionDynamicSizeView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericAlwaysFalseConditionDynamicSizeView( |
| 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> |
| GenericAlwaysFalseConditionDynamicSizeView<Storage> &operator=( |
| const GenericAlwaysFalseConditionDynamicSizeView<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_y().Known()) return false; |
| if (has_y().ValueOrDefault() && !y().Ok()) return false; |
| |
| |
| if (!has_xc().Known()) return false; |
| if (has_xc().ValueOrDefault() && !xc().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()); |
| } |
| ::std::size_t SizeInBytes() const { |
| return static_cast</**/ ::std::size_t>(IntrinsicSizeInBytes().Read()); |
| } |
| bool SizeIsKnown() const { return IntrinsicSizeInBytes().Ok(); } |
| |
| |
| |
| template <typename OtherStorage> |
| bool Equals( |
| GenericAlwaysFalseConditionDynamicSizeView<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_y().Known()) return false; |
| if (!emboss_reserved_local_other.has_y().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_y().ValueOrDefault() && |
| !has_y().ValueOrDefault()) |
| return false; |
| if (has_y().ValueOrDefault() && |
| !emboss_reserved_local_other.has_y().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_y().ValueOrDefault() && |
| has_y().ValueOrDefault() && |
| !y().Equals(emboss_reserved_local_other.y())) |
| return false; |
| |
| |
| |
| if (!has_xc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| !has_xc().ValueOrDefault()) |
| return false; |
| if (has_xc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| has_xc().ValueOrDefault() && |
| !xc().Equals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericAlwaysFalseConditionDynamicSizeView<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_y().ValueOr(false) && |
| !has_y().ValueOr(false)) |
| return false; |
| if (has_y().ValueOr(false) && |
| !emboss_reserved_local_other.has_y().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_y().ValueOr(false) && |
| has_y().ValueOr(false) && |
| !y().UncheckedEquals(emboss_reserved_local_other.y())) |
| return false; |
| |
| |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| !has_xc().ValueOr(false)) |
| return false; |
| if (has_xc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| has_xc().ValueOr(false) && |
| !xc().UncheckedEquals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericAlwaysFalseConditionDynamicSizeView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericAlwaysFalseConditionDynamicSizeView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericAlwaysFalseConditionDynamicSizeView<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 == "x") { |
| if (!x().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "y") { |
| if (!y().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xc") { |
| if (!xc().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_y().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| y().IsAggregate() || y().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("y: "); |
| y().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() && |
| !y().IsAggregate() && !y().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("# y: UNREADABLE\n"); |
| } |
| } |
| |
| if (has_xc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xc().IsAggregate() || xc().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("xc: "); |
| xc().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() && |
| !xc().IsAggregate() && !xc().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("# xc: 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>> |
| |
| x() const; |
| ::emboss::support::Maybe<bool> has_x() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/1, 0>>, 8>> |
| |
| y() const; |
| ::emboss::support::Maybe<bool> has_y() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| xc() const; |
| ::emboss::support::Maybe<bool> has_xc() const; |
| |
| public: |
| class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final { |
| public: |
| using ValueType = ::std::int32_t; |
| |
| explicit EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| const GenericAlwaysFalseConditionDynamicSizeView &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_.x(); |
| 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::Sum</**/::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>(1LL))); |
| const auto emboss_reserved_local_subexpr_4 = ::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_3, ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL))); |
| const auto emboss_reserved_local_subexpr_5 = ::emboss::support::Maximum</**/::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_reserved_local_subexpr_4, ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL))); |
| |
| return emboss_reserved_local_subexpr_5; |
| } |
| |
| 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 GenericAlwaysFalseConditionDynamicSizeView 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 GenericAlwaysFalseConditionDynamicSizeView; |
| }; |
| using AlwaysFalseConditionDynamicSizeView = |
| GenericAlwaysFalseConditionDynamicSizeView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using AlwaysFalseConditionDynamicSizeWriter = |
| GenericAlwaysFalseConditionDynamicSizeView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericAlwaysFalseConditionDynamicSizeView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericAlwaysFalseConditionDynamicSizeView< |
| GenericAlwaysFalseConditionDynamicSizeView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericAlwaysFalseConditionDynamicSizeView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeAlwaysFalseConditionDynamicSizeView( T &&emboss_reserved_local_arg) { |
| return GenericAlwaysFalseConditionDynamicSizeView< |
| /**/ ::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 GenericAlwaysFalseConditionDynamicSizeView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeAlwaysFalseConditionDynamicSizeView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericAlwaysFalseConditionDynamicSizeView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericAlwaysFalseConditionDynamicSizeView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedAlwaysFalseConditionDynamicSizeView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericAlwaysFalseConditionDynamicSizeView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| |
| namespace ConditionDoesNotContributeToSize { |
| |
| } // namespace ConditionDoesNotContributeToSize |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericConditionDoesNotContributeToSizeView; |
| |
| template <class Storage> |
| class GenericConditionDoesNotContributeToSizeView final { |
| public: |
| GenericConditionDoesNotContributeToSizeView() : backing_() {} |
| explicit GenericConditionDoesNotContributeToSizeView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericConditionDoesNotContributeToSizeView( |
| const GenericConditionDoesNotContributeToSizeView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericConditionDoesNotContributeToSizeView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericConditionDoesNotContributeToSizeView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericConditionDoesNotContributeToSizeView( |
| 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> |
| GenericConditionDoesNotContributeToSizeView<Storage> &operator=( |
| const GenericConditionDoesNotContributeToSizeView<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_xc().Known()) return false; |
| if (has_xc().ValueOrDefault() && !xc().Ok()) return false; |
| |
| |
| if (!has_y().Known()) return false; |
| if (has_y().ValueOrDefault() && !y().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( |
| GenericConditionDoesNotContributeToSizeView<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_xc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| !has_xc().ValueOrDefault()) |
| return false; |
| if (has_xc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| has_xc().ValueOrDefault() && |
| !xc().Equals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| |
| |
| if (!has_y().Known()) return false; |
| if (!emboss_reserved_local_other.has_y().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_y().ValueOrDefault() && |
| !has_y().ValueOrDefault()) |
| return false; |
| if (has_y().ValueOrDefault() && |
| !emboss_reserved_local_other.has_y().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_y().ValueOrDefault() && |
| has_y().ValueOrDefault() && |
| !y().Equals(emboss_reserved_local_other.y())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericConditionDoesNotContributeToSizeView<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_xc().ValueOr(false) && |
| !has_xc().ValueOr(false)) |
| return false; |
| if (has_xc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| has_xc().ValueOr(false) && |
| !xc().UncheckedEquals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| |
| |
| if (emboss_reserved_local_other.has_y().ValueOr(false) && |
| !has_y().ValueOr(false)) |
| return false; |
| if (has_y().ValueOr(false) && |
| !emboss_reserved_local_other.has_y().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_y().ValueOr(false) && |
| has_y().ValueOr(false) && |
| !y().UncheckedEquals(emboss_reserved_local_other.y())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericConditionDoesNotContributeToSizeView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericConditionDoesNotContributeToSizeView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericConditionDoesNotContributeToSizeView<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 == "x") { |
| if (!x().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xc") { |
| if (!xc().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "y") { |
| if (!y().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_xc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xc().IsAggregate() || xc().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("xc: "); |
| xc().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() && |
| !xc().IsAggregate() && !xc().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("# xc: UNREADABLE\n"); |
| } |
| } |
| |
| if (has_y().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| y().IsAggregate() || y().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("y: "); |
| y().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() && |
| !y().IsAggregate() && !y().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("# y: 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>> |
| |
| x() const; |
| ::emboss::support::Maybe<bool> has_x() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| xc() const; |
| ::emboss::support::Maybe<bool> has_xc() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| y() const; |
| ::emboss::support::Maybe<bool> has_y() 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 GenericConditionDoesNotContributeToSizeView; |
| }; |
| using ConditionDoesNotContributeToSizeView = |
| GenericConditionDoesNotContributeToSizeView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using ConditionDoesNotContributeToSizeWriter = |
| GenericConditionDoesNotContributeToSizeView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericConditionDoesNotContributeToSizeView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericConditionDoesNotContributeToSizeView< |
| GenericConditionDoesNotContributeToSizeView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericConditionDoesNotContributeToSizeView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeConditionDoesNotContributeToSizeView( T &&emboss_reserved_local_arg) { |
| return GenericConditionDoesNotContributeToSizeView< |
| /**/ ::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 GenericConditionDoesNotContributeToSizeView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeConditionDoesNotContributeToSizeView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericConditionDoesNotContributeToSizeView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericConditionDoesNotContributeToSizeView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedConditionDoesNotContributeToSizeView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericConditionDoesNotContributeToSizeView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| enum class OnOff : ::std::uint64_t { |
| OFF = static_cast</**/::std::int32_t>(0LL), |
| ON = static_cast</**/::std::int32_t>(1LL), |
| |
| }; |
| template <class Enum> |
| class EnumTraits; |
| |
| template <> |
| class EnumTraits<OnOff> final { |
| public: |
| static bool TryToGetEnumFromName(const char *emboss_reserved_local_name, |
| OnOff *emboss_reserved_local_result) { |
| if (emboss_reserved_local_name == nullptr) return false; |
| if (!strcmp("OFF", emboss_reserved_local_name)) { |
| *emboss_reserved_local_result = OnOff::OFF; |
| return true; |
| } |
| |
| if (!strcmp("ON", emboss_reserved_local_name)) { |
| *emboss_reserved_local_result = OnOff::ON; |
| return true; |
| } |
| |
| return false; |
| } |
| |
| static const char *TryToGetNameFromEnum( |
| OnOff emboss_reserved_local_value) { |
| switch (emboss_reserved_local_value) { |
| case OnOff::OFF: return "OFF"; |
| |
| case OnOff::ON: return "ON"; |
| |
| default: return nullptr; |
| } |
| } |
| |
| static bool EnumIsKnown(OnOff emboss_reserved_local_value) { |
| switch (emboss_reserved_local_value) { |
| case OnOff::OFF: return true; |
| |
| case OnOff::ON: return true; |
| |
| default: |
| return false; |
| } |
| } |
| |
| static ::std::ostream &SendToOstream(::std::ostream &emboss_reserved_local_os, |
| OnOff emboss_reserved_local_value) { |
| const char *emboss_reserved_local_name = |
| TryToGetNameFromEnum(emboss_reserved_local_value); |
| if (emboss_reserved_local_name == nullptr) { |
| emboss_reserved_local_os |
| << static_cast</**/ ::std::underlying_type<OnOff>::type>( |
| emboss_reserved_local_value); |
| } else { |
| emboss_reserved_local_os << emboss_reserved_local_name; |
| } |
| return emboss_reserved_local_os; |
| } |
| }; |
| |
| static inline bool TryToGetEnumFromName( |
| const char *emboss_reserved_local_name, |
| OnOff *emboss_reserved_local_result) { |
| return EnumTraits<OnOff>::TryToGetEnumFromName( |
| emboss_reserved_local_name, emboss_reserved_local_result); |
| } |
| |
| static inline const char *TryToGetNameFromEnum( |
| OnOff emboss_reserved_local_value) { |
| return EnumTraits<OnOff>::TryToGetNameFromEnum( |
| emboss_reserved_local_value); |
| } |
| |
| static inline bool EnumIsKnown(OnOff emboss_reserved_local_value) { |
| return EnumTraits<OnOff>::EnumIsKnown(emboss_reserved_local_value); |
| } |
| |
| static inline ::std::ostream &operator<<( |
| ::std::ostream &emboss_reserved_local_os, |
| OnOff emboss_reserved_local_value) { |
| return EnumTraits<OnOff>::SendToOstream(emboss_reserved_local_os, |
| emboss_reserved_local_value); |
| } |
| |
| |
| |
| |
| |
| namespace EnumCondition { |
| |
| } // namespace EnumCondition |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericEnumConditionView; |
| |
| template <class Storage> |
| class GenericEnumConditionView final { |
| public: |
| GenericEnumConditionView() : backing_() {} |
| explicit GenericEnumConditionView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericEnumConditionView( |
| const GenericEnumConditionView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericEnumConditionView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericEnumConditionView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericEnumConditionView( |
| 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> |
| GenericEnumConditionView<Storage> &operator=( |
| const GenericEnumConditionView<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_xc().Known()) return false; |
| if (has_xc().ValueOrDefault() && !xc().Ok()) return false; |
| |
| |
| if (!has_xc2().Known()) return false; |
| if (has_xc2().ValueOrDefault() && !xc2().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()); |
| } |
| ::std::size_t SizeInBytes() const { |
| return static_cast</**/ ::std::size_t>(IntrinsicSizeInBytes().Read()); |
| } |
| bool SizeIsKnown() const { return IntrinsicSizeInBytes().Ok(); } |
| |
| |
| |
| template <typename OtherStorage> |
| bool Equals( |
| GenericEnumConditionView<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_xc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| !has_xc().ValueOrDefault()) |
| return false; |
| if (has_xc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| has_xc().ValueOrDefault() && |
| !xc().Equals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| |
| |
| if (!has_xc2().Known()) return false; |
| if (!emboss_reserved_local_other.has_xc2().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xc2().ValueOrDefault() && |
| !has_xc2().ValueOrDefault()) |
| return false; |
| if (has_xc2().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xc2().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc2().ValueOrDefault() && |
| has_xc2().ValueOrDefault() && |
| !xc2().Equals(emboss_reserved_local_other.xc2())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericEnumConditionView<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_xc().ValueOr(false) && |
| !has_xc().ValueOr(false)) |
| return false; |
| if (has_xc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| has_xc().ValueOr(false) && |
| !xc().UncheckedEquals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| |
| |
| if (emboss_reserved_local_other.has_xc2().ValueOr(false) && |
| !has_xc2().ValueOr(false)) |
| return false; |
| if (has_xc2().ValueOr(false) && |
| !emboss_reserved_local_other.has_xc2().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc2().ValueOr(false) && |
| has_xc2().ValueOr(false) && |
| !xc2().UncheckedEquals(emboss_reserved_local_other.xc2())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericEnumConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericEnumConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericEnumConditionView<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 == "x") { |
| if (!x().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xc") { |
| if (!xc().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xc2") { |
| if (!xc2().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_xc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xc().IsAggregate() || xc().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("xc: "); |
| xc().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() && |
| !xc().IsAggregate() && !xc().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("# xc: UNREADABLE\n"); |
| } |
| } |
| |
| if (has_xc2().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xc2().IsAggregate() || xc2().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("xc2: "); |
| xc2().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() && |
| !xc2().IsAggregate() && !xc2().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("# xc2: 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::support::EnumView< |
| /**/ ::emboss::test::OnOff, |
| ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 0>>, 8>> |
| |
| x() const; |
| ::emboss::support::Maybe<bool> has_x() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| xc() const; |
| ::emboss::support::Maybe<bool> has_xc() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| xc2() const; |
| ::emboss::support::Maybe<bool> has_xc2() const; |
| |
| public: |
| class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final { |
| public: |
| using ValueType = ::std::int32_t; |
| |
| explicit EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| const GenericEnumConditionView &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_.x(); |
| const auto emboss_reserved_local_subexpr_2 = (emboss_reserved_local_subexpr_1.Ok() ? ::emboss::support::Maybe</**/::emboss::test::OnOff>(static_cast</**/::emboss::test::OnOff>(emboss_reserved_local_subexpr_1.UncheckedRead())) : ::emboss::support::Maybe</**/::emboss::test::OnOff>()); |
| const auto emboss_reserved_local_subexpr_3 = ::emboss::support::Equal</**/::emboss::test::OnOff, bool, ::emboss::test::OnOff, ::emboss::test::OnOff>(emboss_reserved_local_subexpr_2, ::emboss::support::Maybe</**/::emboss::test::OnOff>(static_cast</**/::emboss::test::OnOff>(1))); |
| const auto emboss_reserved_local_subexpr_4 = ::emboss::support::Choice</**/::std::int32_t, ::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_3, ::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_5 = ::emboss::support::GreaterThan</**/::emboss::test::OnOff, bool, ::emboss::test::OnOff, ::emboss::test::OnOff>(emboss_reserved_local_subexpr_2, ::emboss::support::Maybe</**/::emboss::test::OnOff>(static_cast</**/::emboss::test::OnOff>(0))); |
| const auto emboss_reserved_local_subexpr_6 = ::emboss::support::Choice</**/::std::int32_t, ::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(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>(0LL))); |
| const auto emboss_reserved_local_subexpr_7 = ::emboss::support::Maximum</**/::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_reserved_local_subexpr_4, emboss_reserved_local_subexpr_6); |
| |
| return emboss_reserved_local_subexpr_7; |
| } |
| |
| 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 GenericEnumConditionView 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 GenericEnumConditionView; |
| }; |
| using EnumConditionView = |
| GenericEnumConditionView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using EnumConditionWriter = |
| GenericEnumConditionView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericEnumConditionView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericEnumConditionView< |
| GenericEnumConditionView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericEnumConditionView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeEnumConditionView( T &&emboss_reserved_local_arg) { |
| return GenericEnumConditionView< |
| /**/ ::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 GenericEnumConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeEnumConditionView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericEnumConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericEnumConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedEnumConditionView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericEnumConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| namespace NegativeEnumCondition { |
| |
| } // namespace NegativeEnumCondition |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericNegativeEnumConditionView; |
| |
| template <class Storage> |
| class GenericNegativeEnumConditionView final { |
| public: |
| GenericNegativeEnumConditionView() : backing_() {} |
| explicit GenericNegativeEnumConditionView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericNegativeEnumConditionView( |
| const GenericNegativeEnumConditionView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericNegativeEnumConditionView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericNegativeEnumConditionView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericNegativeEnumConditionView( |
| 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> |
| GenericNegativeEnumConditionView<Storage> &operator=( |
| const GenericNegativeEnumConditionView<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_xc().Known()) return false; |
| if (has_xc().ValueOrDefault() && !xc().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()); |
| } |
| ::std::size_t SizeInBytes() const { |
| return static_cast</**/ ::std::size_t>(IntrinsicSizeInBytes().Read()); |
| } |
| bool SizeIsKnown() const { return IntrinsicSizeInBytes().Ok(); } |
| |
| |
| |
| template <typename OtherStorage> |
| bool Equals( |
| GenericNegativeEnumConditionView<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_xc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| !has_xc().ValueOrDefault()) |
| return false; |
| if (has_xc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| has_xc().ValueOrDefault() && |
| !xc().Equals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericNegativeEnumConditionView<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_xc().ValueOr(false) && |
| !has_xc().ValueOr(false)) |
| return false; |
| if (has_xc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| has_xc().ValueOr(false) && |
| !xc().UncheckedEquals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericNegativeEnumConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericNegativeEnumConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericNegativeEnumConditionView<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 == "x") { |
| if (!x().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xc") { |
| if (!xc().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_xc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xc().IsAggregate() || xc().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("xc: "); |
| xc().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() && |
| !xc().IsAggregate() && !xc().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("# xc: 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::support::EnumView< |
| /**/ ::emboss::test::OnOff, |
| ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 0>>, 8>> |
| |
| x() const; |
| ::emboss::support::Maybe<bool> has_x() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| xc() const; |
| ::emboss::support::Maybe<bool> has_xc() const; |
| |
| public: |
| class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final { |
| public: |
| using ValueType = ::std::int32_t; |
| |
| explicit EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| const GenericNegativeEnumConditionView &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_.x(); |
| const auto emboss_reserved_local_subexpr_2 = (emboss_reserved_local_subexpr_1.Ok() ? ::emboss::support::Maybe</**/::emboss::test::OnOff>(static_cast</**/::emboss::test::OnOff>(emboss_reserved_local_subexpr_1.UncheckedRead())) : ::emboss::support::Maybe</**/::emboss::test::OnOff>()); |
| const auto emboss_reserved_local_subexpr_3 = ::emboss::support::NotEqual</**/::emboss::test::OnOff, bool, ::emboss::test::OnOff, ::emboss::test::OnOff>(emboss_reserved_local_subexpr_2, ::emboss::support::Maybe</**/::emboss::test::OnOff>(static_cast</**/::emboss::test::OnOff>(1))); |
| const auto emboss_reserved_local_subexpr_4 = ::emboss::support::Choice</**/::std::int32_t, ::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_3, ::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_5 = ::emboss::support::Maximum</**/::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_reserved_local_subexpr_4); |
| |
| return emboss_reserved_local_subexpr_5; |
| } |
| |
| 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 GenericNegativeEnumConditionView 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 GenericNegativeEnumConditionView; |
| }; |
| using NegativeEnumConditionView = |
| GenericNegativeEnumConditionView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using NegativeEnumConditionWriter = |
| GenericNegativeEnumConditionView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericNegativeEnumConditionView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericNegativeEnumConditionView< |
| GenericNegativeEnumConditionView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericNegativeEnumConditionView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeNegativeEnumConditionView( T &&emboss_reserved_local_arg) { |
| return GenericNegativeEnumConditionView< |
| /**/ ::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 GenericNegativeEnumConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeNegativeEnumConditionView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericNegativeEnumConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericNegativeEnumConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedNegativeEnumConditionView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericNegativeEnumConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| namespace LessThanCondition { |
| |
| } // namespace LessThanCondition |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericLessThanConditionView; |
| |
| template <class Storage> |
| class GenericLessThanConditionView final { |
| public: |
| GenericLessThanConditionView() : backing_() {} |
| explicit GenericLessThanConditionView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericLessThanConditionView( |
| const GenericLessThanConditionView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericLessThanConditionView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericLessThanConditionView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericLessThanConditionView( |
| 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> |
| GenericLessThanConditionView<Storage> &operator=( |
| const GenericLessThanConditionView<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_xc().Known()) return false; |
| if (has_xc().ValueOrDefault() && !xc().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()); |
| } |
| ::std::size_t SizeInBytes() const { |
| return static_cast</**/ ::std::size_t>(IntrinsicSizeInBytes().Read()); |
| } |
| bool SizeIsKnown() const { return IntrinsicSizeInBytes().Ok(); } |
| |
| |
| |
| template <typename OtherStorage> |
| bool Equals( |
| GenericLessThanConditionView<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_xc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| !has_xc().ValueOrDefault()) |
| return false; |
| if (has_xc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| has_xc().ValueOrDefault() && |
| !xc().Equals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericLessThanConditionView<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_xc().ValueOr(false) && |
| !has_xc().ValueOr(false)) |
| return false; |
| if (has_xc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| has_xc().ValueOr(false) && |
| !xc().UncheckedEquals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericLessThanConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericLessThanConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericLessThanConditionView<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 == "x") { |
| if (!x().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xc") { |
| if (!xc().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_xc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xc().IsAggregate() || xc().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("xc: "); |
| xc().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() && |
| !xc().IsAggregate() && !xc().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("# xc: 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>> |
| |
| x() const; |
| ::emboss::support::Maybe<bool> has_x() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| xc() const; |
| ::emboss::support::Maybe<bool> has_xc() const; |
| |
| public: |
| class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final { |
| public: |
| using ValueType = ::std::int32_t; |
| |
| explicit EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| const GenericLessThanConditionView &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_.x(); |
| 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::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>(5LL))); |
| const auto emboss_reserved_local_subexpr_4 = ::emboss::support::Choice</**/::std::int32_t, ::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_3, ::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_5 = ::emboss::support::Maximum</**/::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_reserved_local_subexpr_4); |
| |
| return emboss_reserved_local_subexpr_5; |
| } |
| |
| 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 GenericLessThanConditionView 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 GenericLessThanConditionView; |
| }; |
| using LessThanConditionView = |
| GenericLessThanConditionView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using LessThanConditionWriter = |
| GenericLessThanConditionView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericLessThanConditionView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericLessThanConditionView< |
| GenericLessThanConditionView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericLessThanConditionView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeLessThanConditionView( T &&emboss_reserved_local_arg) { |
| return GenericLessThanConditionView< |
| /**/ ::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 GenericLessThanConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeLessThanConditionView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericLessThanConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericLessThanConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedLessThanConditionView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericLessThanConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| namespace LessThanOrEqualCondition { |
| |
| } // namespace LessThanOrEqualCondition |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericLessThanOrEqualConditionView; |
| |
| template <class Storage> |
| class GenericLessThanOrEqualConditionView final { |
| public: |
| GenericLessThanOrEqualConditionView() : backing_() {} |
| explicit GenericLessThanOrEqualConditionView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericLessThanOrEqualConditionView( |
| const GenericLessThanOrEqualConditionView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericLessThanOrEqualConditionView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericLessThanOrEqualConditionView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericLessThanOrEqualConditionView( |
| 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> |
| GenericLessThanOrEqualConditionView<Storage> &operator=( |
| const GenericLessThanOrEqualConditionView<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_xc().Known()) return false; |
| if (has_xc().ValueOrDefault() && !xc().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()); |
| } |
| ::std::size_t SizeInBytes() const { |
| return static_cast</**/ ::std::size_t>(IntrinsicSizeInBytes().Read()); |
| } |
| bool SizeIsKnown() const { return IntrinsicSizeInBytes().Ok(); } |
| |
| |
| |
| template <typename OtherStorage> |
| bool Equals( |
| GenericLessThanOrEqualConditionView<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_xc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| !has_xc().ValueOrDefault()) |
| return false; |
| if (has_xc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| has_xc().ValueOrDefault() && |
| !xc().Equals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericLessThanOrEqualConditionView<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_xc().ValueOr(false) && |
| !has_xc().ValueOr(false)) |
| return false; |
| if (has_xc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| has_xc().ValueOr(false) && |
| !xc().UncheckedEquals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericLessThanOrEqualConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericLessThanOrEqualConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericLessThanOrEqualConditionView<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 == "x") { |
| if (!x().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xc") { |
| if (!xc().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_xc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xc().IsAggregate() || xc().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("xc: "); |
| xc().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() && |
| !xc().IsAggregate() && !xc().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("# xc: 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>> |
| |
| x() const; |
| ::emboss::support::Maybe<bool> has_x() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| xc() const; |
| ::emboss::support::Maybe<bool> has_xc() const; |
| |
| public: |
| class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final { |
| public: |
| using ValueType = ::std::int32_t; |
| |
| explicit EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| const GenericLessThanOrEqualConditionView &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_.x(); |
| 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::LessThanOrEqual</**/::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_4 = ::emboss::support::Choice</**/::std::int32_t, ::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_3, ::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_5 = ::emboss::support::Maximum</**/::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_reserved_local_subexpr_4); |
| |
| return emboss_reserved_local_subexpr_5; |
| } |
| |
| 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 GenericLessThanOrEqualConditionView 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 GenericLessThanOrEqualConditionView; |
| }; |
| using LessThanOrEqualConditionView = |
| GenericLessThanOrEqualConditionView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using LessThanOrEqualConditionWriter = |
| GenericLessThanOrEqualConditionView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericLessThanOrEqualConditionView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericLessThanOrEqualConditionView< |
| GenericLessThanOrEqualConditionView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericLessThanOrEqualConditionView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeLessThanOrEqualConditionView( T &&emboss_reserved_local_arg) { |
| return GenericLessThanOrEqualConditionView< |
| /**/ ::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 GenericLessThanOrEqualConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeLessThanOrEqualConditionView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericLessThanOrEqualConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericLessThanOrEqualConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedLessThanOrEqualConditionView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericLessThanOrEqualConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| namespace GreaterThanOrEqualCondition { |
| |
| } // namespace GreaterThanOrEqualCondition |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericGreaterThanOrEqualConditionView; |
| |
| template <class Storage> |
| class GenericGreaterThanOrEqualConditionView final { |
| public: |
| GenericGreaterThanOrEqualConditionView() : backing_() {} |
| explicit GenericGreaterThanOrEqualConditionView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericGreaterThanOrEqualConditionView( |
| const GenericGreaterThanOrEqualConditionView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericGreaterThanOrEqualConditionView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericGreaterThanOrEqualConditionView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericGreaterThanOrEqualConditionView( |
| 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> |
| GenericGreaterThanOrEqualConditionView<Storage> &operator=( |
| const GenericGreaterThanOrEqualConditionView<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_xc().Known()) return false; |
| if (has_xc().ValueOrDefault() && !xc().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()); |
| } |
| ::std::size_t SizeInBytes() const { |
| return static_cast</**/ ::std::size_t>(IntrinsicSizeInBytes().Read()); |
| } |
| bool SizeIsKnown() const { return IntrinsicSizeInBytes().Ok(); } |
| |
| |
| |
| template <typename OtherStorage> |
| bool Equals( |
| GenericGreaterThanOrEqualConditionView<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_xc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| !has_xc().ValueOrDefault()) |
| return false; |
| if (has_xc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| has_xc().ValueOrDefault() && |
| !xc().Equals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericGreaterThanOrEqualConditionView<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_xc().ValueOr(false) && |
| !has_xc().ValueOr(false)) |
| return false; |
| if (has_xc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| has_xc().ValueOr(false) && |
| !xc().UncheckedEquals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericGreaterThanOrEqualConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericGreaterThanOrEqualConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericGreaterThanOrEqualConditionView<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 == "x") { |
| if (!x().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xc") { |
| if (!xc().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_xc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xc().IsAggregate() || xc().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("xc: "); |
| xc().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() && |
| !xc().IsAggregate() && !xc().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("# xc: 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>> |
| |
| x() const; |
| ::emboss::support::Maybe<bool> has_x() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| xc() const; |
| ::emboss::support::Maybe<bool> has_xc() const; |
| |
| public: |
| class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final { |
| public: |
| using ValueType = ::std::int32_t; |
| |
| explicit EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| const GenericGreaterThanOrEqualConditionView &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_.x(); |
| 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::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_4 = ::emboss::support::Choice</**/::std::int32_t, ::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_3, ::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_5 = ::emboss::support::Maximum</**/::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_reserved_local_subexpr_4); |
| |
| return emboss_reserved_local_subexpr_5; |
| } |
| |
| 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 GenericGreaterThanOrEqualConditionView 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 GenericGreaterThanOrEqualConditionView; |
| }; |
| using GreaterThanOrEqualConditionView = |
| GenericGreaterThanOrEqualConditionView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using GreaterThanOrEqualConditionWriter = |
| GenericGreaterThanOrEqualConditionView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericGreaterThanOrEqualConditionView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericGreaterThanOrEqualConditionView< |
| GenericGreaterThanOrEqualConditionView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericGreaterThanOrEqualConditionView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeGreaterThanOrEqualConditionView( T &&emboss_reserved_local_arg) { |
| return GenericGreaterThanOrEqualConditionView< |
| /**/ ::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 GenericGreaterThanOrEqualConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeGreaterThanOrEqualConditionView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericGreaterThanOrEqualConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericGreaterThanOrEqualConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedGreaterThanOrEqualConditionView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericGreaterThanOrEqualConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| namespace GreaterThanCondition { |
| |
| } // namespace GreaterThanCondition |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericGreaterThanConditionView; |
| |
| template <class Storage> |
| class GenericGreaterThanConditionView final { |
| public: |
| GenericGreaterThanConditionView() : backing_() {} |
| explicit GenericGreaterThanConditionView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericGreaterThanConditionView( |
| const GenericGreaterThanConditionView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericGreaterThanConditionView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericGreaterThanConditionView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericGreaterThanConditionView( |
| 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> |
| GenericGreaterThanConditionView<Storage> &operator=( |
| const GenericGreaterThanConditionView<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_xc().Known()) return false; |
| if (has_xc().ValueOrDefault() && !xc().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()); |
| } |
| ::std::size_t SizeInBytes() const { |
| return static_cast</**/ ::std::size_t>(IntrinsicSizeInBytes().Read()); |
| } |
| bool SizeIsKnown() const { return IntrinsicSizeInBytes().Ok(); } |
| |
| |
| |
| template <typename OtherStorage> |
| bool Equals( |
| GenericGreaterThanConditionView<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_xc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| !has_xc().ValueOrDefault()) |
| return false; |
| if (has_xc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| has_xc().ValueOrDefault() && |
| !xc().Equals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericGreaterThanConditionView<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_xc().ValueOr(false) && |
| !has_xc().ValueOr(false)) |
| return false; |
| if (has_xc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| has_xc().ValueOr(false) && |
| !xc().UncheckedEquals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericGreaterThanConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericGreaterThanConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericGreaterThanConditionView<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 == "x") { |
| if (!x().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xc") { |
| if (!xc().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_xc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xc().IsAggregate() || xc().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("xc: "); |
| xc().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() && |
| !xc().IsAggregate() && !xc().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("# xc: 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>> |
| |
| x() const; |
| ::emboss::support::Maybe<bool> has_x() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| xc() const; |
| ::emboss::support::Maybe<bool> has_xc() const; |
| |
| public: |
| class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final { |
| public: |
| using ValueType = ::std::int32_t; |
| |
| explicit EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| const GenericGreaterThanConditionView &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_.x(); |
| 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::GreaterThan</**/::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_4 = ::emboss::support::Choice</**/::std::int32_t, ::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_3, ::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_5 = ::emboss::support::Maximum</**/::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_reserved_local_subexpr_4); |
| |
| return emboss_reserved_local_subexpr_5; |
| } |
| |
| 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 GenericGreaterThanConditionView 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 GenericGreaterThanConditionView; |
| }; |
| using GreaterThanConditionView = |
| GenericGreaterThanConditionView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using GreaterThanConditionWriter = |
| GenericGreaterThanConditionView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericGreaterThanConditionView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericGreaterThanConditionView< |
| GenericGreaterThanConditionView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericGreaterThanConditionView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeGreaterThanConditionView( T &&emboss_reserved_local_arg) { |
| return GenericGreaterThanConditionView< |
| /**/ ::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 GenericGreaterThanConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeGreaterThanConditionView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericGreaterThanConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericGreaterThanConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedGreaterThanConditionView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericGreaterThanConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| |
| namespace RangeCondition { |
| |
| } // namespace RangeCondition |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericRangeConditionView; |
| |
| template <class Storage> |
| class GenericRangeConditionView final { |
| public: |
| GenericRangeConditionView() : backing_() {} |
| explicit GenericRangeConditionView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericRangeConditionView( |
| const GenericRangeConditionView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericRangeConditionView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericRangeConditionView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericRangeConditionView( |
| 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> |
| GenericRangeConditionView<Storage> &operator=( |
| const GenericRangeConditionView<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_y().Known()) return false; |
| if (has_y().ValueOrDefault() && !y().Ok()) return false; |
| |
| |
| if (!has_xc().Known()) return false; |
| if (has_xc().ValueOrDefault() && !xc().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()); |
| } |
| ::std::size_t SizeInBytes() const { |
| return static_cast</**/ ::std::size_t>(IntrinsicSizeInBytes().Read()); |
| } |
| bool SizeIsKnown() const { return IntrinsicSizeInBytes().Ok(); } |
| |
| |
| |
| template <typename OtherStorage> |
| bool Equals( |
| GenericRangeConditionView<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_y().Known()) return false; |
| if (!emboss_reserved_local_other.has_y().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_y().ValueOrDefault() && |
| !has_y().ValueOrDefault()) |
| return false; |
| if (has_y().ValueOrDefault() && |
| !emboss_reserved_local_other.has_y().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_y().ValueOrDefault() && |
| has_y().ValueOrDefault() && |
| !y().Equals(emboss_reserved_local_other.y())) |
| return false; |
| |
| |
| |
| if (!has_xc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| !has_xc().ValueOrDefault()) |
| return false; |
| if (has_xc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| has_xc().ValueOrDefault() && |
| !xc().Equals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericRangeConditionView<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_y().ValueOr(false) && |
| !has_y().ValueOr(false)) |
| return false; |
| if (has_y().ValueOr(false) && |
| !emboss_reserved_local_other.has_y().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_y().ValueOr(false) && |
| has_y().ValueOr(false) && |
| !y().UncheckedEquals(emboss_reserved_local_other.y())) |
| return false; |
| |
| |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| !has_xc().ValueOr(false)) |
| return false; |
| if (has_xc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| has_xc().ValueOr(false) && |
| !xc().UncheckedEquals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericRangeConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericRangeConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericRangeConditionView<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 == "x") { |
| if (!x().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "y") { |
| if (!y().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xc") { |
| if (!xc().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_y().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| y().IsAggregate() || y().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("y: "); |
| y().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() && |
| !y().IsAggregate() && !y().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("# y: UNREADABLE\n"); |
| } |
| } |
| |
| if (has_xc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xc().IsAggregate() || xc().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("xc: "); |
| xc().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() && |
| !xc().IsAggregate() && !xc().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("# xc: 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>> |
| |
| x() const; |
| ::emboss::support::Maybe<bool> has_x() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| y() const; |
| ::emboss::support::Maybe<bool> has_y() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| xc() const; |
| ::emboss::support::Maybe<bool> has_xc() const; |
| |
| public: |
| class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final { |
| public: |
| using ValueType = ::std::int32_t; |
| |
| explicit EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| const GenericRangeConditionView &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_.x(); |
| 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::LessThan</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(5LL)), emboss_reserved_local_subexpr_2); |
| const auto emboss_reserved_local_subexpr_4 = view_.y(); |
| const auto emboss_reserved_local_subexpr_5 = (emboss_reserved_local_subexpr_4.Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(emboss_reserved_local_subexpr_4.UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()); |
| const auto emboss_reserved_local_subexpr_6 = ::emboss::support::LessThanOrEqual</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_2, emboss_reserved_local_subexpr_5); |
| const auto emboss_reserved_local_subexpr_7 = ::emboss::support::And</**/bool, bool, bool, bool>(emboss_reserved_local_subexpr_3, emboss_reserved_local_subexpr_6); |
| const auto emboss_reserved_local_subexpr_8 = ::emboss::support::LessThan</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_5, ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(10LL))); |
| const auto emboss_reserved_local_subexpr_9 = ::emboss::support::And</**/bool, bool, bool, bool>(emboss_reserved_local_subexpr_7, emboss_reserved_local_subexpr_8); |
| const auto emboss_reserved_local_subexpr_10 = ::emboss::support::Choice</**/::std::int32_t, ::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_9, ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(3LL)), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL))); |
| const auto emboss_reserved_local_subexpr_11 = ::emboss::support::Maximum</**/::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>(2LL)), emboss_reserved_local_subexpr_10); |
| |
| return emboss_reserved_local_subexpr_11; |
| } |
| |
| 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 GenericRangeConditionView 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 GenericRangeConditionView; |
| }; |
| using RangeConditionView = |
| GenericRangeConditionView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using RangeConditionWriter = |
| GenericRangeConditionView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericRangeConditionView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericRangeConditionView< |
| GenericRangeConditionView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericRangeConditionView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeRangeConditionView( T &&emboss_reserved_local_arg) { |
| return GenericRangeConditionView< |
| /**/ ::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 GenericRangeConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeRangeConditionView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericRangeConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericRangeConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedRangeConditionView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericRangeConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| |
| namespace ReverseRangeCondition { |
| |
| } // namespace ReverseRangeCondition |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericReverseRangeConditionView; |
| |
| template <class Storage> |
| class GenericReverseRangeConditionView final { |
| public: |
| GenericReverseRangeConditionView() : backing_() {} |
| explicit GenericReverseRangeConditionView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericReverseRangeConditionView( |
| const GenericReverseRangeConditionView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericReverseRangeConditionView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericReverseRangeConditionView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericReverseRangeConditionView( |
| 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> |
| GenericReverseRangeConditionView<Storage> &operator=( |
| const GenericReverseRangeConditionView<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_y().Known()) return false; |
| if (has_y().ValueOrDefault() && !y().Ok()) return false; |
| |
| |
| if (!has_xc().Known()) return false; |
| if (has_xc().ValueOrDefault() && !xc().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()); |
| } |
| ::std::size_t SizeInBytes() const { |
| return static_cast</**/ ::std::size_t>(IntrinsicSizeInBytes().Read()); |
| } |
| bool SizeIsKnown() const { return IntrinsicSizeInBytes().Ok(); } |
| |
| |
| |
| template <typename OtherStorage> |
| bool Equals( |
| GenericReverseRangeConditionView<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_y().Known()) return false; |
| if (!emboss_reserved_local_other.has_y().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_y().ValueOrDefault() && |
| !has_y().ValueOrDefault()) |
| return false; |
| if (has_y().ValueOrDefault() && |
| !emboss_reserved_local_other.has_y().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_y().ValueOrDefault() && |
| has_y().ValueOrDefault() && |
| !y().Equals(emboss_reserved_local_other.y())) |
| return false; |
| |
| |
| |
| if (!has_xc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| !has_xc().ValueOrDefault()) |
| return false; |
| if (has_xc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| has_xc().ValueOrDefault() && |
| !xc().Equals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericReverseRangeConditionView<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_y().ValueOr(false) && |
| !has_y().ValueOr(false)) |
| return false; |
| if (has_y().ValueOr(false) && |
| !emboss_reserved_local_other.has_y().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_y().ValueOr(false) && |
| has_y().ValueOr(false) && |
| !y().UncheckedEquals(emboss_reserved_local_other.y())) |
| return false; |
| |
| |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| !has_xc().ValueOr(false)) |
| return false; |
| if (has_xc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| has_xc().ValueOr(false) && |
| !xc().UncheckedEquals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericReverseRangeConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericReverseRangeConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericReverseRangeConditionView<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 == "x") { |
| if (!x().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "y") { |
| if (!y().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xc") { |
| if (!xc().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_y().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| y().IsAggregate() || y().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("y: "); |
| y().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() && |
| !y().IsAggregate() && !y().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("# y: UNREADABLE\n"); |
| } |
| } |
| |
| if (has_xc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xc().IsAggregate() || xc().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("xc: "); |
| xc().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() && |
| !xc().IsAggregate() && !xc().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("# xc: 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>> |
| |
| x() const; |
| ::emboss::support::Maybe<bool> has_x() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| y() const; |
| ::emboss::support::Maybe<bool> has_y() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| xc() const; |
| ::emboss::support::Maybe<bool> has_xc() const; |
| |
| public: |
| class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final { |
| public: |
| using ValueType = ::std::int32_t; |
| |
| explicit EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| const GenericReverseRangeConditionView &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_.y(); |
| 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::GreaterThan</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(10LL)), emboss_reserved_local_subexpr_2); |
| const auto emboss_reserved_local_subexpr_4 = view_.x(); |
| const auto emboss_reserved_local_subexpr_5 = (emboss_reserved_local_subexpr_4.Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(emboss_reserved_local_subexpr_4.UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()); |
| const auto emboss_reserved_local_subexpr_6 = ::emboss::support::GreaterThanOrEqual</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_2, emboss_reserved_local_subexpr_5); |
| const auto emboss_reserved_local_subexpr_7 = ::emboss::support::And</**/bool, bool, bool, bool>(emboss_reserved_local_subexpr_3, emboss_reserved_local_subexpr_6); |
| const auto emboss_reserved_local_subexpr_8 = ::emboss::support::GreaterThan</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_5, ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(5LL))); |
| const auto emboss_reserved_local_subexpr_9 = ::emboss::support::And</**/bool, bool, bool, bool>(emboss_reserved_local_subexpr_7, emboss_reserved_local_subexpr_8); |
| const auto emboss_reserved_local_subexpr_10 = ::emboss::support::Choice</**/::std::int32_t, ::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_9, ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(3LL)), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL))); |
| const auto emboss_reserved_local_subexpr_11 = ::emboss::support::Maximum</**/::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>(2LL)), emboss_reserved_local_subexpr_10); |
| |
| return emboss_reserved_local_subexpr_11; |
| } |
| |
| 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 GenericReverseRangeConditionView 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 GenericReverseRangeConditionView; |
| }; |
| using ReverseRangeConditionView = |
| GenericReverseRangeConditionView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using ReverseRangeConditionWriter = |
| GenericReverseRangeConditionView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericReverseRangeConditionView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericReverseRangeConditionView< |
| GenericReverseRangeConditionView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericReverseRangeConditionView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeReverseRangeConditionView( T &&emboss_reserved_local_arg) { |
| return GenericReverseRangeConditionView< |
| /**/ ::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 GenericReverseRangeConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeReverseRangeConditionView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericReverseRangeConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericReverseRangeConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedReverseRangeConditionView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericReverseRangeConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| |
| namespace AndCondition { |
| |
| } // namespace AndCondition |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericAndConditionView; |
| |
| template <class Storage> |
| class GenericAndConditionView final { |
| public: |
| GenericAndConditionView() : backing_() {} |
| explicit GenericAndConditionView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericAndConditionView( |
| const GenericAndConditionView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericAndConditionView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericAndConditionView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericAndConditionView( |
| 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> |
| GenericAndConditionView<Storage> &operator=( |
| const GenericAndConditionView<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_y().Known()) return false; |
| if (has_y().ValueOrDefault() && !y().Ok()) return false; |
| |
| |
| if (!has_xc().Known()) return false; |
| if (has_xc().ValueOrDefault() && !xc().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()); |
| } |
| ::std::size_t SizeInBytes() const { |
| return static_cast</**/ ::std::size_t>(IntrinsicSizeInBytes().Read()); |
| } |
| bool SizeIsKnown() const { return IntrinsicSizeInBytes().Ok(); } |
| |
| |
| |
| template <typename OtherStorage> |
| bool Equals( |
| GenericAndConditionView<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_y().Known()) return false; |
| if (!emboss_reserved_local_other.has_y().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_y().ValueOrDefault() && |
| !has_y().ValueOrDefault()) |
| return false; |
| if (has_y().ValueOrDefault() && |
| !emboss_reserved_local_other.has_y().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_y().ValueOrDefault() && |
| has_y().ValueOrDefault() && |
| !y().Equals(emboss_reserved_local_other.y())) |
| return false; |
| |
| |
| |
| if (!has_xc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| !has_xc().ValueOrDefault()) |
| return false; |
| if (has_xc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| has_xc().ValueOrDefault() && |
| !xc().Equals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericAndConditionView<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_y().ValueOr(false) && |
| !has_y().ValueOr(false)) |
| return false; |
| if (has_y().ValueOr(false) && |
| !emboss_reserved_local_other.has_y().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_y().ValueOr(false) && |
| has_y().ValueOr(false) && |
| !y().UncheckedEquals(emboss_reserved_local_other.y())) |
| return false; |
| |
| |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| !has_xc().ValueOr(false)) |
| return false; |
| if (has_xc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| has_xc().ValueOr(false) && |
| !xc().UncheckedEquals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericAndConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericAndConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericAndConditionView<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 == "x") { |
| if (!x().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "y") { |
| if (!y().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xc") { |
| if (!xc().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_y().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| y().IsAggregate() || y().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("y: "); |
| y().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() && |
| !y().IsAggregate() && !y().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("# y: UNREADABLE\n"); |
| } |
| } |
| |
| if (has_xc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xc().IsAggregate() || xc().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("xc: "); |
| xc().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() && |
| !xc().IsAggregate() && !xc().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("# xc: 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>> |
| |
| x() const; |
| ::emboss::support::Maybe<bool> has_x() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| y() const; |
| ::emboss::support::Maybe<bool> has_y() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| xc() const; |
| ::emboss::support::Maybe<bool> has_xc() const; |
| |
| public: |
| class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final { |
| public: |
| using ValueType = ::std::int32_t; |
| |
| explicit EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| const GenericAndConditionView &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_.x(); |
| 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::Equal</**/::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_4 = view_.y(); |
| const auto emboss_reserved_local_subexpr_5 = (emboss_reserved_local_subexpr_4.Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(emboss_reserved_local_subexpr_4.UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()); |
| const auto emboss_reserved_local_subexpr_6 = ::emboss::support::Equal</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_5, ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(5LL))); |
| const auto emboss_reserved_local_subexpr_7 = ::emboss::support::And</**/bool, bool, bool, bool>(emboss_reserved_local_subexpr_3, emboss_reserved_local_subexpr_6); |
| const auto emboss_reserved_local_subexpr_8 = ::emboss::support::Choice</**/::std::int32_t, ::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>(3LL)), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL))); |
| const auto emboss_reserved_local_subexpr_9 = ::emboss::support::Maximum</**/::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>(2LL)), emboss_reserved_local_subexpr_8); |
| |
| return emboss_reserved_local_subexpr_9; |
| } |
| |
| 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 GenericAndConditionView 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 GenericAndConditionView; |
| }; |
| using AndConditionView = |
| GenericAndConditionView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using AndConditionWriter = |
| GenericAndConditionView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericAndConditionView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericAndConditionView< |
| GenericAndConditionView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericAndConditionView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeAndConditionView( T &&emboss_reserved_local_arg) { |
| return GenericAndConditionView< |
| /**/ ::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 GenericAndConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeAndConditionView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericAndConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericAndConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedAndConditionView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericAndConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| |
| namespace OrCondition { |
| |
| } // namespace OrCondition |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericOrConditionView; |
| |
| template <class Storage> |
| class GenericOrConditionView final { |
| public: |
| GenericOrConditionView() : backing_() {} |
| explicit GenericOrConditionView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericOrConditionView( |
| const GenericOrConditionView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericOrConditionView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericOrConditionView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericOrConditionView( |
| 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> |
| GenericOrConditionView<Storage> &operator=( |
| const GenericOrConditionView<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_y().Known()) return false; |
| if (has_y().ValueOrDefault() && !y().Ok()) return false; |
| |
| |
| if (!has_xc().Known()) return false; |
| if (has_xc().ValueOrDefault() && !xc().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()); |
| } |
| ::std::size_t SizeInBytes() const { |
| return static_cast</**/ ::std::size_t>(IntrinsicSizeInBytes().Read()); |
| } |
| bool SizeIsKnown() const { return IntrinsicSizeInBytes().Ok(); } |
| |
| |
| |
| template <typename OtherStorage> |
| bool Equals( |
| GenericOrConditionView<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_y().Known()) return false; |
| if (!emboss_reserved_local_other.has_y().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_y().ValueOrDefault() && |
| !has_y().ValueOrDefault()) |
| return false; |
| if (has_y().ValueOrDefault() && |
| !emboss_reserved_local_other.has_y().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_y().ValueOrDefault() && |
| has_y().ValueOrDefault() && |
| !y().Equals(emboss_reserved_local_other.y())) |
| return false; |
| |
| |
| |
| if (!has_xc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| !has_xc().ValueOrDefault()) |
| return false; |
| if (has_xc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOrDefault() && |
| has_xc().ValueOrDefault() && |
| !xc().Equals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericOrConditionView<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_y().ValueOr(false) && |
| !has_y().ValueOr(false)) |
| return false; |
| if (has_y().ValueOr(false) && |
| !emboss_reserved_local_other.has_y().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_y().ValueOr(false) && |
| has_y().ValueOr(false) && |
| !y().UncheckedEquals(emboss_reserved_local_other.y())) |
| return false; |
| |
| |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| !has_xc().ValueOr(false)) |
| return false; |
| if (has_xc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xc().ValueOr(false) && |
| has_xc().ValueOr(false) && |
| !xc().UncheckedEquals(emboss_reserved_local_other.xc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericOrConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericOrConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericOrConditionView<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 == "x") { |
| if (!x().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "y") { |
| if (!y().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xc") { |
| if (!xc().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_y().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| y().IsAggregate() || y().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("y: "); |
| y().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() && |
| !y().IsAggregate() && !y().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("# y: UNREADABLE\n"); |
| } |
| } |
| |
| if (has_xc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xc().IsAggregate() || xc().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("xc: "); |
| xc().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() && |
| !xc().IsAggregate() && !xc().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("# xc: 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>> |
| |
| x() const; |
| ::emboss::support::Maybe<bool> has_x() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| y() const; |
| ::emboss::support::Maybe<bool> has_y() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| xc() const; |
| ::emboss::support::Maybe<bool> has_xc() const; |
| |
| public: |
| class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final { |
| public: |
| using ValueType = ::std::int32_t; |
| |
| explicit EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| const GenericOrConditionView &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_.x(); |
| 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::Equal</**/::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_4 = view_.y(); |
| const auto emboss_reserved_local_subexpr_5 = (emboss_reserved_local_subexpr_4.Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(emboss_reserved_local_subexpr_4.UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()); |
| const auto emboss_reserved_local_subexpr_6 = ::emboss::support::Equal</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_5, ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(5LL))); |
| const auto emboss_reserved_local_subexpr_7 = ::emboss::support::Or</**/bool, bool, bool, bool>(emboss_reserved_local_subexpr_3, emboss_reserved_local_subexpr_6); |
| const auto emboss_reserved_local_subexpr_8 = ::emboss::support::Choice</**/::std::int32_t, ::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>(3LL)), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL))); |
| const auto emboss_reserved_local_subexpr_9 = ::emboss::support::Maximum</**/::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>(2LL)), emboss_reserved_local_subexpr_8); |
| |
| return emboss_reserved_local_subexpr_9; |
| } |
| |
| 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 GenericOrConditionView 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 GenericOrConditionView; |
| }; |
| using OrConditionView = |
| GenericOrConditionView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using OrConditionWriter = |
| GenericOrConditionView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericOrConditionView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericOrConditionView< |
| GenericOrConditionView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericOrConditionView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeOrConditionView( T &&emboss_reserved_local_arg) { |
| return GenericOrConditionView< |
| /**/ ::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 GenericOrConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeOrConditionView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericOrConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericOrConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedOrConditionView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericOrConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| |
| |
| namespace ChoiceCondition { |
| enum class Field : ::std::uint64_t { |
| USE_X = static_cast</**/::std::int32_t>(1LL), |
| USE_Y = static_cast</**/::std::int32_t>(2LL), |
| |
| }; |
| template <class Enum> |
| class EnumTraits; |
| |
| template <> |
| class EnumTraits<Field> final { |
| public: |
| static bool TryToGetEnumFromName(const char *emboss_reserved_local_name, |
| Field *emboss_reserved_local_result) { |
| if (emboss_reserved_local_name == nullptr) return false; |
| if (!strcmp("USE_X", emboss_reserved_local_name)) { |
| *emboss_reserved_local_result = Field::USE_X; |
| return true; |
| } |
| |
| if (!strcmp("USE_Y", emboss_reserved_local_name)) { |
| *emboss_reserved_local_result = Field::USE_Y; |
| return true; |
| } |
| |
| return false; |
| } |
| |
| static const char *TryToGetNameFromEnum( |
| Field emboss_reserved_local_value) { |
| switch (emboss_reserved_local_value) { |
| case Field::USE_X: return "USE_X"; |
| |
| case Field::USE_Y: return "USE_Y"; |
| |
| default: return nullptr; |
| } |
| } |
| |
| static bool EnumIsKnown(Field emboss_reserved_local_value) { |
| switch (emboss_reserved_local_value) { |
| case Field::USE_X: return true; |
| |
| case Field::USE_Y: return true; |
| |
| default: |
| return false; |
| } |
| } |
| |
| static ::std::ostream &SendToOstream(::std::ostream &emboss_reserved_local_os, |
| Field emboss_reserved_local_value) { |
| const char *emboss_reserved_local_name = |
| TryToGetNameFromEnum(emboss_reserved_local_value); |
| if (emboss_reserved_local_name == nullptr) { |
| emboss_reserved_local_os |
| << static_cast</**/ ::std::underlying_type<Field>::type>( |
| emboss_reserved_local_value); |
| } else { |
| emboss_reserved_local_os << emboss_reserved_local_name; |
| } |
| return emboss_reserved_local_os; |
| } |
| }; |
| |
| static inline bool TryToGetEnumFromName( |
| const char *emboss_reserved_local_name, |
| Field *emboss_reserved_local_result) { |
| return EnumTraits<Field>::TryToGetEnumFromName( |
| emboss_reserved_local_name, emboss_reserved_local_result); |
| } |
| |
| static inline const char *TryToGetNameFromEnum( |
| Field emboss_reserved_local_value) { |
| return EnumTraits<Field>::TryToGetNameFromEnum( |
| emboss_reserved_local_value); |
| } |
| |
| static inline bool EnumIsKnown(Field emboss_reserved_local_value) { |
| return EnumTraits<Field>::EnumIsKnown(emboss_reserved_local_value); |
| } |
| |
| static inline ::std::ostream &operator<<( |
| ::std::ostream &emboss_reserved_local_os, |
| Field emboss_reserved_local_value) { |
| return EnumTraits<Field>::SendToOstream(emboss_reserved_local_os, |
| emboss_reserved_local_value); |
| } |
| |
| } // namespace ChoiceCondition |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericChoiceConditionView; |
| |
| template <class Storage> |
| class GenericChoiceConditionView final { |
| public: |
| GenericChoiceConditionView() : backing_() {} |
| explicit GenericChoiceConditionView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericChoiceConditionView( |
| const GenericChoiceConditionView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericChoiceConditionView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericChoiceConditionView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericChoiceConditionView( |
| 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> |
| GenericChoiceConditionView<Storage> &operator=( |
| const GenericChoiceConditionView<OtherStorage> &emboss_reserved_local_other) { |
| backing_ = emboss_reserved_local_other.BackingStorage(); |
| return *this; |
| } |
| |
| using Field = ::emboss::test::ChoiceCondition::Field; |
| |
| bool Ok() const { |
| if (!IsComplete()) return false; |
| |
| if (!has_field().Known()) return false; |
| if (has_field().ValueOrDefault() && !field().Ok()) return false; |
| |
| |
| if (!has_x().Known()) return false; |
| if (has_x().ValueOrDefault() && !x().Ok()) return false; |
| |
| |
| if (!has_y().Known()) return false; |
| if (has_y().ValueOrDefault() && !y().Ok()) return false; |
| |
| |
| if (!has_xyc().Known()) return false; |
| if (has_xyc().ValueOrDefault() && !xyc().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()); |
| } |
| ::std::size_t SizeInBytes() const { |
| return static_cast</**/ ::std::size_t>(IntrinsicSizeInBytes().Read()); |
| } |
| bool SizeIsKnown() const { return IntrinsicSizeInBytes().Ok(); } |
| |
| |
| |
| template <typename OtherStorage> |
| bool Equals( |
| GenericChoiceConditionView<OtherStorage> emboss_reserved_local_other) const { |
| |
| if (!has_field().Known()) return false; |
| if (!emboss_reserved_local_other.has_field().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_field().ValueOrDefault() && |
| !has_field().ValueOrDefault()) |
| return false; |
| if (has_field().ValueOrDefault() && |
| !emboss_reserved_local_other.has_field().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_field().ValueOrDefault() && |
| has_field().ValueOrDefault() && |
| !field().Equals(emboss_reserved_local_other.field())) |
| return false; |
| |
| |
| |
| 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_y().Known()) return false; |
| if (!emboss_reserved_local_other.has_y().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_y().ValueOrDefault() && |
| !has_y().ValueOrDefault()) |
| return false; |
| if (has_y().ValueOrDefault() && |
| !emboss_reserved_local_other.has_y().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_y().ValueOrDefault() && |
| has_y().ValueOrDefault() && |
| !y().Equals(emboss_reserved_local_other.y())) |
| return false; |
| |
| |
| |
| if (!has_xyc().Known()) return false; |
| if (!emboss_reserved_local_other.has_xyc().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_xyc().ValueOrDefault() && |
| !has_xyc().ValueOrDefault()) |
| return false; |
| if (has_xyc().ValueOrDefault() && |
| !emboss_reserved_local_other.has_xyc().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xyc().ValueOrDefault() && |
| has_xyc().ValueOrDefault() && |
| !xyc().Equals(emboss_reserved_local_other.xyc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericChoiceConditionView<OtherStorage> emboss_reserved_local_other) const { |
| |
| if (emboss_reserved_local_other.has_field().ValueOr(false) && |
| !has_field().ValueOr(false)) |
| return false; |
| if (has_field().ValueOr(false) && |
| !emboss_reserved_local_other.has_field().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_field().ValueOr(false) && |
| has_field().ValueOr(false) && |
| !field().UncheckedEquals(emboss_reserved_local_other.field())) |
| return false; |
| |
| |
| |
| 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_y().ValueOr(false) && |
| !has_y().ValueOr(false)) |
| return false; |
| if (has_y().ValueOr(false) && |
| !emboss_reserved_local_other.has_y().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_y().ValueOr(false) && |
| has_y().ValueOr(false) && |
| !y().UncheckedEquals(emboss_reserved_local_other.y())) |
| return false; |
| |
| |
| |
| if (emboss_reserved_local_other.has_xyc().ValueOr(false) && |
| !has_xyc().ValueOr(false)) |
| return false; |
| if (has_xyc().ValueOr(false) && |
| !emboss_reserved_local_other.has_xyc().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_xyc().ValueOr(false) && |
| has_xyc().ValueOr(false) && |
| !xyc().UncheckedEquals(emboss_reserved_local_other.xyc())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericChoiceConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericChoiceConditionView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericChoiceConditionView<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 == "field") { |
| if (!field().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "x") { |
| if (!x().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "y") { |
| if (!y().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "xyc") { |
| if (!xyc().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_field().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| field().IsAggregate() || field().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("field: "); |
| field().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() && |
| !field().IsAggregate() && !field().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("# field: UNREADABLE\n"); |
| } |
| } |
| |
| 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_y().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| y().IsAggregate() || y().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("y: "); |
| y().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() && |
| !y().IsAggregate() && !y().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("# y: UNREADABLE\n"); |
| } |
| } |
| |
| if (has_xyc().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| xyc().IsAggregate() || xyc().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("xyc: "); |
| xyc().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() && |
| !xyc().IsAggregate() && !xyc().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("# xyc: 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::support::EnumView< |
| /**/ ::emboss::test::ChoiceCondition::Field, |
| ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 0>>, 8>> |
| |
| field() const; |
| ::emboss::support::Maybe<bool> has_field() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| x() const; |
| ::emboss::support::Maybe<bool> has_x() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| y() const; |
| ::emboss::support::Maybe<bool> has_y() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 3>>, 8>> |
| |
| xyc() const; |
| ::emboss::support::Maybe<bool> has_xyc() const; |
| |
| public: |
| class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final { |
| public: |
| using ValueType = ::std::int32_t; |
| |
| explicit EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| const GenericChoiceConditionView &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_.field(); |
| const auto emboss_reserved_local_subexpr_2 = (emboss_reserved_local_subexpr_1.Ok() ? ::emboss::support::Maybe</**/::emboss::test::ChoiceCondition::Field>(static_cast</**/::emboss::test::ChoiceCondition::Field>(emboss_reserved_local_subexpr_1.UncheckedRead())) : ::emboss::support::Maybe</**/::emboss::test::ChoiceCondition::Field>()); |
| const auto emboss_reserved_local_subexpr_3 = ::emboss::support::Equal</**/::emboss::test::ChoiceCondition::Field, bool, ::emboss::test::ChoiceCondition::Field, ::emboss::test::ChoiceCondition::Field>(emboss_reserved_local_subexpr_2, ::emboss::support::Maybe</**/::emboss::test::ChoiceCondition::Field>(static_cast</**/::emboss::test::ChoiceCondition::Field>(1))); |
| const auto emboss_reserved_local_subexpr_4 = view_.x(); |
| const auto emboss_reserved_local_subexpr_5 = (emboss_reserved_local_subexpr_4.Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(emboss_reserved_local_subexpr_4.UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()); |
| const auto emboss_reserved_local_subexpr_6 = view_.y(); |
| 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::Choice</**/::std::int32_t, ::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_3, emboss_reserved_local_subexpr_5, emboss_reserved_local_subexpr_7); |
| const auto emboss_reserved_local_subexpr_9 = ::emboss::support::Equal</**/::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>(5LL))); |
| const auto emboss_reserved_local_subexpr_10 = ::emboss::support::Choice</**/::std::int32_t, ::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_9, ::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_11 = ::emboss::support::Maximum</**/::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>(2LL)), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(3LL)), emboss_reserved_local_subexpr_10); |
| |
| return emboss_reserved_local_subexpr_11; |
| } |
| |
| 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 GenericChoiceConditionView 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 GenericChoiceConditionView; |
| }; |
| using ChoiceConditionView = |
| GenericChoiceConditionView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using ChoiceConditionWriter = |
| GenericChoiceConditionView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericChoiceConditionView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericChoiceConditionView< |
| GenericChoiceConditionView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericChoiceConditionView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeChoiceConditionView( T &&emboss_reserved_local_arg) { |
| return GenericChoiceConditionView< |
| /**/ ::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 GenericChoiceConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeChoiceConditionView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericChoiceConditionView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericChoiceConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedChoiceConditionView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericChoiceConditionView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| |
| namespace ContainsBits { |
| |
| |
| |
| |
| namespace EmbossReservedAnonymousField3 { |
| |
| } // namespace EmbossReservedAnonymousField3 |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericEmbossReservedAnonymousField3View; |
| |
| template <class Storage> |
| class GenericEmbossReservedAnonymousField3View final { |
| public: |
| GenericEmbossReservedAnonymousField3View() : backing_() {} |
| explicit GenericEmbossReservedAnonymousField3View( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericEmbossReservedAnonymousField3View( |
| const GenericEmbossReservedAnonymousField3View<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericEmbossReservedAnonymousField3View< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericEmbossReservedAnonymousField3View( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericEmbossReservedAnonymousField3View( |
| 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> |
| GenericEmbossReservedAnonymousField3View<Storage> &operator=( |
| const GenericEmbossReservedAnonymousField3View<OtherStorage> &emboss_reserved_local_other) { |
| backing_ = emboss_reserved_local_other.BackingStorage(); |
| return *this; |
| } |
| |
| |
| |
| bool Ok() const { |
| if (!IsComplete()) return false; |
| |
| if (!has_has_top().Known()) return false; |
| if (has_has_top().ValueOrDefault() && !has_top().Ok()) return false; |
| |
| |
| if (!has_has_bottom().Known()) return false; |
| if (has_has_bottom().ValueOrDefault() && !has_bottom().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( |
| GenericEmbossReservedAnonymousField3View<OtherStorage> emboss_reserved_local_other) const { |
| |
| if (!has_has_top().Known()) return false; |
| if (!emboss_reserved_local_other.has_has_top().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_has_top().ValueOrDefault() && |
| !has_has_top().ValueOrDefault()) |
| return false; |
| if (has_has_top().ValueOrDefault() && |
| !emboss_reserved_local_other.has_has_top().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_has_top().ValueOrDefault() && |
| has_has_top().ValueOrDefault() && |
| !has_top().Equals(emboss_reserved_local_other.has_top())) |
| return false; |
| |
| |
| |
| if (!has_has_bottom().Known()) return false; |
| if (!emboss_reserved_local_other.has_has_bottom().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_has_bottom().ValueOrDefault() && |
| !has_has_bottom().ValueOrDefault()) |
| return false; |
| if (has_has_bottom().ValueOrDefault() && |
| !emboss_reserved_local_other.has_has_bottom().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_has_bottom().ValueOrDefault() && |
| has_has_bottom().ValueOrDefault() && |
| !has_bottom().Equals(emboss_reserved_local_other.has_bottom())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericEmbossReservedAnonymousField3View<OtherStorage> emboss_reserved_local_other) const { |
| |
| if (emboss_reserved_local_other.has_has_top().ValueOr(false) && |
| !has_has_top().ValueOr(false)) |
| return false; |
| if (has_has_top().ValueOr(false) && |
| !emboss_reserved_local_other.has_has_top().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_has_top().ValueOr(false) && |
| has_has_top().ValueOr(false) && |
| !has_top().UncheckedEquals(emboss_reserved_local_other.has_top())) |
| return false; |
| |
| |
| |
| if (emboss_reserved_local_other.has_has_bottom().ValueOr(false) && |
| !has_has_bottom().ValueOr(false)) |
| return false; |
| if (has_has_bottom().ValueOr(false) && |
| !emboss_reserved_local_other.has_has_bottom().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_has_bottom().ValueOr(false) && |
| has_has_bottom().ValueOr(false) && |
| !has_bottom().UncheckedEquals(emboss_reserved_local_other.has_bottom())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericEmbossReservedAnonymousField3View<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBits().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericEmbossReservedAnonymousField3View<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBits().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericEmbossReservedAnonymousField3View<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 == "has_top") { |
| if (!has_top().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "has_bottom") { |
| if (!has_bottom().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_has_top().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| has_top().IsAggregate() || has_top().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("has_top: "); |
| has_top().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() && |
| !has_top().IsAggregate() && !has_top().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("# has_top: UNREADABLE\n"); |
| } |
| } |
| |
| if (has_has_bottom().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| has_bottom().IsAggregate() || has_bottom().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("has_bottom: "); |
| has_bottom().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() && |
| !has_bottom().IsAggregate() && !has_bottom().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("# has_bottom: 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<1, ::emboss::support::AllValuesAreOk>, |
| typename Storage::template OffsetStorageType</**/0, 7>> |
| |
| has_top() const; |
| ::emboss::support::Maybe<bool> has_has_top() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<1, ::emboss::support::AllValuesAreOk>, |
| typename Storage::template OffsetStorageType</**/0, 0>> |
| |
| has_bottom() const; |
| ::emboss::support::Maybe<bool> has_has_bottom() 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 GenericEmbossReservedAnonymousField3View; |
| }; |
| using EmbossReservedAnonymousField3View = |
| GenericEmbossReservedAnonymousField3View</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using EmbossReservedAnonymousField3Writer = |
| GenericEmbossReservedAnonymousField3View</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericEmbossReservedAnonymousField3View { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericEmbossReservedAnonymousField3View< |
| GenericEmbossReservedAnonymousField3View<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericEmbossReservedAnonymousField3View< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeEmbossReservedAnonymousField3View( T &&emboss_reserved_local_arg) { |
| return GenericEmbossReservedAnonymousField3View< |
| /**/ ::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 GenericEmbossReservedAnonymousField3View</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeEmbossReservedAnonymousField3View( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericEmbossReservedAnonymousField3View</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericEmbossReservedAnonymousField3View< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedEmbossReservedAnonymousField3View( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericEmbossReservedAnonymousField3View< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| } // namespace ContainsBits |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericContainsBitsView; |
| |
| template <class Storage> |
| class GenericContainsBitsView final { |
| public: |
| GenericContainsBitsView() : backing_() {} |
| explicit GenericContainsBitsView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericContainsBitsView( |
| const GenericContainsBitsView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericContainsBitsView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericContainsBitsView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericContainsBitsView( |
| 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> |
| GenericContainsBitsView<Storage> &operator=( |
| const GenericContainsBitsView<OtherStorage> &emboss_reserved_local_other) { |
| backing_ = emboss_reserved_local_other.BackingStorage(); |
| return *this; |
| } |
| |
| |
| |
| bool Ok() const { |
| if (!IsComplete()) return false; |
| |
| if (!has_emboss_reserved_anonymous_field_3().Known()) return false; |
| if (has_emboss_reserved_anonymous_field_3().ValueOrDefault() && !emboss_reserved_anonymous_field_3().Ok()) return false; |
| |
| |
| if (!has_has_top().Known()) return false; |
| if (has_has_top().ValueOrDefault() && !has_top().Ok()) return false; |
| |
| |
| if (!has_has_bottom().Known()) return false; |
| if (has_has_bottom().ValueOrDefault() && !has_bottom().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( |
| GenericContainsBitsView<OtherStorage> emboss_reserved_local_other) const { |
| |
| if (!has_emboss_reserved_anonymous_field_3().Known()) return false; |
| if (!emboss_reserved_local_other.has_emboss_reserved_anonymous_field_3().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_emboss_reserved_anonymous_field_3().ValueOrDefault() && |
| !has_emboss_reserved_anonymous_field_3().ValueOrDefault()) |
| return false; |
| if (has_emboss_reserved_anonymous_field_3().ValueOrDefault() && |
| !emboss_reserved_local_other.has_emboss_reserved_anonymous_field_3().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_emboss_reserved_anonymous_field_3().ValueOrDefault() && |
| has_emboss_reserved_anonymous_field_3().ValueOrDefault() && |
| !emboss_reserved_anonymous_field_3().Equals(emboss_reserved_local_other.emboss_reserved_anonymous_field_3())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericContainsBitsView<OtherStorage> emboss_reserved_local_other) const { |
| |
| if (emboss_reserved_local_other.has_emboss_reserved_anonymous_field_3().ValueOr(false) && |
| !has_emboss_reserved_anonymous_field_3().ValueOr(false)) |
| return false; |
| if (has_emboss_reserved_anonymous_field_3().ValueOr(false) && |
| !emboss_reserved_local_other.has_emboss_reserved_anonymous_field_3().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_emboss_reserved_anonymous_field_3().ValueOr(false) && |
| has_emboss_reserved_anonymous_field_3().ValueOr(false) && |
| !emboss_reserved_anonymous_field_3().UncheckedEquals(emboss_reserved_local_other.emboss_reserved_anonymous_field_3())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericContainsBitsView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericContainsBitsView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericContainsBitsView<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 == "has_top") { |
| if (!has_top().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "has_bottom") { |
| if (!has_bottom().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_has_top().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| has_top().IsAggregate() || has_top().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("has_top: "); |
| has_top().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() && |
| !has_top().IsAggregate() && !has_top().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("# has_top: UNREADABLE\n"); |
| } |
| } |
| |
| if (has_has_bottom().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| has_bottom().IsAggregate() || has_bottom().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("has_bottom: "); |
| has_bottom().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() && |
| !has_bottom().IsAggregate() && !has_bottom().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("# has_bottom: 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; } |
| |
| private: |
| typename ::emboss::test::ContainsBits::GenericEmbossReservedAnonymousField3View<typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 0>>, 8>> |
| |
| emboss_reserved_anonymous_field_3() const; |
| ::emboss::support::Maybe<bool> has_emboss_reserved_anonymous_field_3() const; |
| |
| public: |
| auto has_top() const -> decltype(this->emboss_reserved_anonymous_field_3().has_top()) { |
| return has_has_top().ValueOrDefault() ? emboss_reserved_anonymous_field_3().has_top() |
| : decltype(this->emboss_reserved_anonymous_field_3().has_top())(); |
| } |
| ::emboss::support::Maybe<bool> has_has_top() const; |
| |
| public: |
| auto has_bottom() const -> decltype(this->emboss_reserved_anonymous_field_3().has_bottom()) { |
| return has_has_bottom().ValueOrDefault() ? emboss_reserved_anonymous_field_3().has_bottom() |
| : decltype(this->emboss_reserved_anonymous_field_3().has_bottom())(); |
| } |
| ::emboss::support::Maybe<bool> has_has_bottom() 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 GenericContainsBitsView; |
| }; |
| using ContainsBitsView = |
| GenericContainsBitsView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using ContainsBitsWriter = |
| GenericContainsBitsView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericContainsBitsView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericContainsBitsView< |
| GenericContainsBitsView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericContainsBitsView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeContainsBitsView( T &&emboss_reserved_local_arg) { |
| return GenericContainsBitsView< |
| /**/ ::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 GenericContainsBitsView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeContainsBitsView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericContainsBitsView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericContainsBitsView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedContainsBitsView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericContainsBitsView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| namespace ContainsContainsBits { |
| |
| } // namespace ContainsContainsBits |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericContainsContainsBitsView; |
| |
| template <class Storage> |
| class GenericContainsContainsBitsView final { |
| public: |
| GenericContainsContainsBitsView() : backing_() {} |
| explicit GenericContainsContainsBitsView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericContainsContainsBitsView( |
| const GenericContainsContainsBitsView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericContainsContainsBitsView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericContainsContainsBitsView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericContainsContainsBitsView( |
| 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> |
| GenericContainsContainsBitsView<Storage> &operator=( |
| const GenericContainsContainsBitsView<OtherStorage> &emboss_reserved_local_other) { |
| backing_ = emboss_reserved_local_other.BackingStorage(); |
| return *this; |
| } |
| |
| |
| |
| bool Ok() const { |
| if (!IsComplete()) return false; |
| |
| if (!has_condition().Known()) return false; |
| if (has_condition().ValueOrDefault() && !condition().Ok()) return false; |
| |
| |
| if (!has_top().Known()) return false; |
| if (has_top().ValueOrDefault() && !top().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()); |
| } |
| ::std::size_t SizeInBytes() const { |
| return static_cast</**/ ::std::size_t>(IntrinsicSizeInBytes().Read()); |
| } |
| bool SizeIsKnown() const { return IntrinsicSizeInBytes().Ok(); } |
| |
| |
| |
| template <typename OtherStorage> |
| bool Equals( |
| GenericContainsContainsBitsView<OtherStorage> emboss_reserved_local_other) const { |
| |
| if (!has_condition().Known()) return false; |
| if (!emboss_reserved_local_other.has_condition().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_condition().ValueOrDefault() && |
| !has_condition().ValueOrDefault()) |
| return false; |
| if (has_condition().ValueOrDefault() && |
| !emboss_reserved_local_other.has_condition().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_condition().ValueOrDefault() && |
| has_condition().ValueOrDefault() && |
| !condition().Equals(emboss_reserved_local_other.condition())) |
| return false; |
| |
| |
| |
| if (!has_top().Known()) return false; |
| if (!emboss_reserved_local_other.has_top().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_top().ValueOrDefault() && |
| !has_top().ValueOrDefault()) |
| return false; |
| if (has_top().ValueOrDefault() && |
| !emboss_reserved_local_other.has_top().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_top().ValueOrDefault() && |
| has_top().ValueOrDefault() && |
| !top().Equals(emboss_reserved_local_other.top())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericContainsContainsBitsView<OtherStorage> emboss_reserved_local_other) const { |
| |
| if (emboss_reserved_local_other.has_condition().ValueOr(false) && |
| !has_condition().ValueOr(false)) |
| return false; |
| if (has_condition().ValueOr(false) && |
| !emboss_reserved_local_other.has_condition().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_condition().ValueOr(false) && |
| has_condition().ValueOr(false) && |
| !condition().UncheckedEquals(emboss_reserved_local_other.condition())) |
| return false; |
| |
| |
| |
| if (emboss_reserved_local_other.has_top().ValueOr(false) && |
| !has_top().ValueOr(false)) |
| return false; |
| if (has_top().ValueOr(false) && |
| !emboss_reserved_local_other.has_top().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_top().ValueOr(false) && |
| has_top().ValueOr(false) && |
| !top().UncheckedEquals(emboss_reserved_local_other.top())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericContainsContainsBitsView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericContainsContainsBitsView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericContainsContainsBitsView<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 == "condition") { |
| if (!condition().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "top") { |
| if (!top().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_condition().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| condition().IsAggregate() || condition().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("condition: "); |
| condition().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() && |
| !condition().IsAggregate() && !condition().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("# condition: UNREADABLE\n"); |
| } |
| } |
| |
| if (has_top().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| top().IsAggregate() || top().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("top: "); |
| top().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() && |
| !top().IsAggregate() && !top().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("# top: 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::GenericContainsBitsView<typename Storage::template OffsetStorageType</**/0, 0>> |
| |
| condition() const; |
| ::emboss::support::Maybe<bool> has_condition() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| top() const; |
| ::emboss::support::Maybe<bool> has_top() const; |
| |
| public: |
| class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final { |
| public: |
| using ValueType = ::std::int32_t; |
| |
| explicit EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| const GenericContainsContainsBitsView &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_.condition().has_top(); |
| 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::Equal</**/::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>(1LL))); |
| const auto emboss_reserved_local_subexpr_4 = ::emboss::support::Choice</**/::std::int32_t, ::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_3, ::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_5 = ::emboss::support::Maximum</**/::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_reserved_local_subexpr_4); |
| |
| return emboss_reserved_local_subexpr_5; |
| } |
| |
| 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 GenericContainsContainsBitsView 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 GenericContainsContainsBitsView; |
| }; |
| using ContainsContainsBitsView = |
| GenericContainsContainsBitsView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using ContainsContainsBitsWriter = |
| GenericContainsContainsBitsView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericContainsContainsBitsView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericContainsContainsBitsView< |
| GenericContainsContainsBitsView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericContainsContainsBitsView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeContainsContainsBitsView( T &&emboss_reserved_local_arg) { |
| return GenericContainsContainsBitsView< |
| /**/ ::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 GenericContainsContainsBitsView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeContainsContainsBitsView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericContainsContainsBitsView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericContainsContainsBitsView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedContainsContainsBitsView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericContainsContainsBitsView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| |
| namespace ConditionalInline { |
| |
| |
| |
| |
| |
| namespace Type0 { |
| |
| } // namespace Type0 |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericType0View; |
| |
| template <class Storage> |
| class GenericType0View final { |
| public: |
| GenericType0View() : backing_() {} |
| explicit GenericType0View( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericType0View( |
| const GenericType0View<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericType0View< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericType0View( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericType0View( |
| 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> |
| GenericType0View<Storage> &operator=( |
| const GenericType0View<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_b().Known()) return false; |
| if (has_b().ValueOrDefault() && !b().Ok()) return false; |
| |
| |
| if (!has_c().Known()) return false; |
| if (has_c().ValueOrDefault() && !c().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( |
| GenericType0View<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; |
| |
| |
| |
| 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_c().Known()) return false; |
| if (!emboss_reserved_local_other.has_c().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_c().ValueOrDefault() && |
| !has_c().ValueOrDefault()) |
| return false; |
| if (has_c().ValueOrDefault() && |
| !emboss_reserved_local_other.has_c().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_c().ValueOrDefault() && |
| has_c().ValueOrDefault() && |
| !c().Equals(emboss_reserved_local_other.c())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericType0View<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; |
| |
| |
| |
| 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_c().ValueOr(false) && |
| !has_c().ValueOr(false)) |
| return false; |
| if (has_c().ValueOr(false) && |
| !emboss_reserved_local_other.has_c().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_c().ValueOr(false) && |
| has_c().ValueOr(false) && |
| !c().UncheckedEquals(emboss_reserved_local_other.c())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericType0View<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericType0View<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericType0View<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; |
| } |
| |
| if (emboss_reserved_local_name == "b") { |
| if (!b().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "c") { |
| if (!c().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"); |
| } |
| } |
| |
| 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_c().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| c().IsAggregate() || c().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("c: "); |
| c().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() && |
| !c().IsAggregate() && !c().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("# c: 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>> |
| |
| a() const; |
| ::emboss::support::Maybe<bool> has_a() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| b() const; |
| ::emboss::support::Maybe<bool> has_b() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| c() const; |
| ::emboss::support::Maybe<bool> has_c() 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 GenericType0View; |
| }; |
| using Type0View = |
| GenericType0View</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using Type0Writer = |
| GenericType0View</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericType0View { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericType0View< |
| GenericType0View<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericType0View< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeType0View( T &&emboss_reserved_local_arg) { |
| return GenericType0View< |
| /**/ ::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 GenericType0View</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeType0View( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericType0View</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericType0View< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedType0View( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericType0View< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| |
| |
| namespace Type1 { |
| |
| } // namespace Type1 |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericType1View; |
| |
| template <class Storage> |
| class GenericType1View final { |
| public: |
| GenericType1View() : backing_() {} |
| explicit GenericType1View( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericType1View( |
| const GenericType1View<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericType1View< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericType1View( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericType1View( |
| 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> |
| GenericType1View<Storage> &operator=( |
| const GenericType1View<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_b().Known()) return false; |
| if (has_b().ValueOrDefault() && !b().Ok()) return false; |
| |
| |
| if (!has_c().Known()) return false; |
| if (has_c().ValueOrDefault() && !c().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( |
| GenericType1View<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; |
| |
| |
| |
| 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_c().Known()) return false; |
| if (!emboss_reserved_local_other.has_c().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_c().ValueOrDefault() && |
| !has_c().ValueOrDefault()) |
| return false; |
| if (has_c().ValueOrDefault() && |
| !emboss_reserved_local_other.has_c().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_c().ValueOrDefault() && |
| has_c().ValueOrDefault() && |
| !c().Equals(emboss_reserved_local_other.c())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericType1View<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; |
| |
| |
| |
| 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_c().ValueOr(false) && |
| !has_c().ValueOr(false)) |
| return false; |
| if (has_c().ValueOr(false) && |
| !emboss_reserved_local_other.has_c().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_c().ValueOr(false) && |
| has_c().ValueOr(false) && |
| !c().UncheckedEquals(emboss_reserved_local_other.c())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericType1View<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericType1View<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericType1View<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; |
| } |
| |
| if (emboss_reserved_local_name == "b") { |
| if (!b().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "c") { |
| if (!c().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"); |
| } |
| } |
| |
| 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_c().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| c().IsAggregate() || c().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("c: "); |
| c().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() && |
| !c().IsAggregate() && !c().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("# c: 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>> |
| |
| a() const; |
| ::emboss::support::Maybe<bool> has_a() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| b() const; |
| ::emboss::support::Maybe<bool> has_b() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| c() const; |
| ::emboss::support::Maybe<bool> has_c() 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 GenericType1View; |
| }; |
| using Type1View = |
| GenericType1View</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using Type1Writer = |
| GenericType1View</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericType1View { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericType1View< |
| GenericType1View<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericType1View< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeType1View( T &&emboss_reserved_local_arg) { |
| return GenericType1View< |
| /**/ ::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 GenericType1View</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeType1View( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericType1View</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericType1View< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedType1View( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericType1View< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| } // namespace ConditionalInline |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericConditionalInlineView; |
| |
| template <class Storage> |
| class GenericConditionalInlineView final { |
| public: |
| GenericConditionalInlineView() : backing_() {} |
| explicit GenericConditionalInlineView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericConditionalInlineView( |
| const GenericConditionalInlineView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericConditionalInlineView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericConditionalInlineView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericConditionalInlineView( |
| 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> |
| GenericConditionalInlineView<Storage> &operator=( |
| const GenericConditionalInlineView<OtherStorage> &emboss_reserved_local_other) { |
| backing_ = emboss_reserved_local_other.BackingStorage(); |
| return *this; |
| } |
| |
| |
| |
| bool Ok() const { |
| if (!IsComplete()) return false; |
| |
| if (!has_payload_id().Known()) return false; |
| if (has_payload_id().ValueOrDefault() && !payload_id().Ok()) return false; |
| |
| |
| if (!has_type_0().Known()) return false; |
| if (has_type_0().ValueOrDefault() && !type_0().Ok()) return false; |
| |
| |
| if (!has_type_1().Known()) return false; |
| if (has_type_1().ValueOrDefault() && !type_1().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()); |
| } |
| ::std::size_t SizeInBytes() const { |
| return static_cast</**/ ::std::size_t>(IntrinsicSizeInBytes().Read()); |
| } |
| bool SizeIsKnown() const { return IntrinsicSizeInBytes().Ok(); } |
| |
| |
| |
| template <typename OtherStorage> |
| bool Equals( |
| GenericConditionalInlineView<OtherStorage> emboss_reserved_local_other) const { |
| |
| if (!has_payload_id().Known()) return false; |
| if (!emboss_reserved_local_other.has_payload_id().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_payload_id().ValueOrDefault() && |
| !has_payload_id().ValueOrDefault()) |
| return false; |
| if (has_payload_id().ValueOrDefault() && |
| !emboss_reserved_local_other.has_payload_id().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_payload_id().ValueOrDefault() && |
| has_payload_id().ValueOrDefault() && |
| !payload_id().Equals(emboss_reserved_local_other.payload_id())) |
| return false; |
| |
| |
| |
| if (!has_type_0().Known()) return false; |
| if (!emboss_reserved_local_other.has_type_0().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_type_0().ValueOrDefault() && |
| !has_type_0().ValueOrDefault()) |
| return false; |
| if (has_type_0().ValueOrDefault() && |
| !emboss_reserved_local_other.has_type_0().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_type_0().ValueOrDefault() && |
| has_type_0().ValueOrDefault() && |
| !type_0().Equals(emboss_reserved_local_other.type_0())) |
| return false; |
| |
| |
| |
| if (!has_type_1().Known()) return false; |
| if (!emboss_reserved_local_other.has_type_1().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_type_1().ValueOrDefault() && |
| !has_type_1().ValueOrDefault()) |
| return false; |
| if (has_type_1().ValueOrDefault() && |
| !emboss_reserved_local_other.has_type_1().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_type_1().ValueOrDefault() && |
| has_type_1().ValueOrDefault() && |
| !type_1().Equals(emboss_reserved_local_other.type_1())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericConditionalInlineView<OtherStorage> emboss_reserved_local_other) const { |
| |
| if (emboss_reserved_local_other.has_payload_id().ValueOr(false) && |
| !has_payload_id().ValueOr(false)) |
| return false; |
| if (has_payload_id().ValueOr(false) && |
| !emboss_reserved_local_other.has_payload_id().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_payload_id().ValueOr(false) && |
| has_payload_id().ValueOr(false) && |
| !payload_id().UncheckedEquals(emboss_reserved_local_other.payload_id())) |
| return false; |
| |
| |
| |
| if (emboss_reserved_local_other.has_type_0().ValueOr(false) && |
| !has_type_0().ValueOr(false)) |
| return false; |
| if (has_type_0().ValueOr(false) && |
| !emboss_reserved_local_other.has_type_0().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_type_0().ValueOr(false) && |
| has_type_0().ValueOr(false) && |
| !type_0().UncheckedEquals(emboss_reserved_local_other.type_0())) |
| return false; |
| |
| |
| |
| if (emboss_reserved_local_other.has_type_1().ValueOr(false) && |
| !has_type_1().ValueOr(false)) |
| return false; |
| if (has_type_1().ValueOr(false) && |
| !emboss_reserved_local_other.has_type_1().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_type_1().ValueOr(false) && |
| has_type_1().ValueOr(false) && |
| !type_1().UncheckedEquals(emboss_reserved_local_other.type_1())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericConditionalInlineView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericConditionalInlineView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericConditionalInlineView<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 == "payload_id") { |
| if (!payload_id().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "type_0") { |
| if (!type_0().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "type_1") { |
| if (!type_1().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_payload_id().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| payload_id().IsAggregate() || payload_id().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("payload_id: "); |
| payload_id().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() && |
| !payload_id().IsAggregate() && !payload_id().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("# payload_id: UNREADABLE\n"); |
| } |
| } |
| |
| if (has_type_0().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| type_0().IsAggregate() || type_0().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("type_0: "); |
| type_0().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() && |
| !type_0().IsAggregate() && !type_0().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("# type_0: UNREADABLE\n"); |
| } |
| } |
| |
| if (has_type_1().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| type_1().IsAggregate() || type_1().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("type_1: "); |
| type_1().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() && |
| !type_1().IsAggregate() && !type_1().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("# type_1: 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>> |
| |
| payload_id() const; |
| ::emboss::support::Maybe<bool> has_payload_id() const; |
| |
| public: |
| typename ::emboss::test::ConditionalInline::GenericType0View<typename Storage::template OffsetStorageType</**/0, 1>> |
| |
| type_0() const; |
| ::emboss::support::Maybe<bool> has_type_0() const; |
| |
| public: |
| typename ::emboss::test::ConditionalInline::GenericType1View<typename Storage::template OffsetStorageType</**/0, 1>> |
| |
| type_1() const; |
| ::emboss::support::Maybe<bool> has_type_1() const; |
| |
| public: |
| class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final { |
| public: |
| using ValueType = ::std::int32_t; |
| |
| explicit EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| const GenericConditionalInlineView &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_.payload_id(); |
| 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::Equal</**/::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>(0LL))); |
| const auto emboss_reserved_local_subexpr_4 = ::emboss::support::Choice</**/::std::int32_t, ::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_3, ::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_5 = ::emboss::support::Equal</**/::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>(1LL))); |
| const auto emboss_reserved_local_subexpr_6 = ::emboss::support::Choice</**/::std::int32_t, ::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_5, ::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_7 = ::emboss::support::Maximum</**/::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_reserved_local_subexpr_4, emboss_reserved_local_subexpr_6); |
| |
| return emboss_reserved_local_subexpr_7; |
| } |
| |
| 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 GenericConditionalInlineView 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 GenericConditionalInlineView; |
| }; |
| using ConditionalInlineView = |
| GenericConditionalInlineView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using ConditionalInlineWriter = |
| GenericConditionalInlineView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericConditionalInlineView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericConditionalInlineView< |
| GenericConditionalInlineView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericConditionalInlineView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeConditionalInlineView( T &&emboss_reserved_local_arg) { |
| return GenericConditionalInlineView< |
| /**/ ::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 GenericConditionalInlineView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeConditionalInlineView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericConditionalInlineView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericConditionalInlineView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedConditionalInlineView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericConditionalInlineView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| |
| |
| |
| namespace ConditionalAnonymous { |
| |
| |
| |
| |
| |
| namespace EmbossReservedAnonymousField2 { |
| |
| } // namespace EmbossReservedAnonymousField2 |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericEmbossReservedAnonymousField2View; |
| |
| template <class Storage> |
| class GenericEmbossReservedAnonymousField2View final { |
| public: |
| GenericEmbossReservedAnonymousField2View() : backing_() {} |
| explicit GenericEmbossReservedAnonymousField2View( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericEmbossReservedAnonymousField2View( |
| const GenericEmbossReservedAnonymousField2View<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericEmbossReservedAnonymousField2View< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericEmbossReservedAnonymousField2View( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericEmbossReservedAnonymousField2View( |
| 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> |
| GenericEmbossReservedAnonymousField2View<Storage> &operator=( |
| const GenericEmbossReservedAnonymousField2View<OtherStorage> &emboss_reserved_local_other) { |
| backing_ = emboss_reserved_local_other.BackingStorage(); |
| return *this; |
| } |
| |
| |
| |
| bool Ok() const { |
| if (!IsComplete()) return false; |
| |
| if (!has_low().Known()) return false; |
| if (has_low().ValueOrDefault() && !low().Ok()) return false; |
| |
| |
| if (!has_mid().Known()) return false; |
| if (has_mid().ValueOrDefault() && !mid().Ok()) return false; |
| |
| |
| if (!has_high().Known()) return false; |
| if (has_high().ValueOrDefault() && !high().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( |
| GenericEmbossReservedAnonymousField2View<OtherStorage> emboss_reserved_local_other) const { |
| |
| if (!has_low().Known()) return false; |
| if (!emboss_reserved_local_other.has_low().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_low().ValueOrDefault() && |
| !has_low().ValueOrDefault()) |
| return false; |
| if (has_low().ValueOrDefault() && |
| !emboss_reserved_local_other.has_low().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_low().ValueOrDefault() && |
| has_low().ValueOrDefault() && |
| !low().Equals(emboss_reserved_local_other.low())) |
| return false; |
| |
| |
| |
| if (!has_mid().Known()) return false; |
| if (!emboss_reserved_local_other.has_mid().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_mid().ValueOrDefault() && |
| !has_mid().ValueOrDefault()) |
| return false; |
| if (has_mid().ValueOrDefault() && |
| !emboss_reserved_local_other.has_mid().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_mid().ValueOrDefault() && |
| has_mid().ValueOrDefault() && |
| !mid().Equals(emboss_reserved_local_other.mid())) |
| return false; |
| |
| |
| |
| if (!has_high().Known()) return false; |
| if (!emboss_reserved_local_other.has_high().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_high().ValueOrDefault() && |
| !has_high().ValueOrDefault()) |
| return false; |
| if (has_high().ValueOrDefault() && |
| !emboss_reserved_local_other.has_high().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_high().ValueOrDefault() && |
| has_high().ValueOrDefault() && |
| !high().Equals(emboss_reserved_local_other.high())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericEmbossReservedAnonymousField2View<OtherStorage> emboss_reserved_local_other) const { |
| |
| if (emboss_reserved_local_other.has_low().ValueOr(false) && |
| !has_low().ValueOr(false)) |
| return false; |
| if (has_low().ValueOr(false) && |
| !emboss_reserved_local_other.has_low().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_low().ValueOr(false) && |
| has_low().ValueOr(false) && |
| !low().UncheckedEquals(emboss_reserved_local_other.low())) |
| return false; |
| |
| |
| |
| if (emboss_reserved_local_other.has_mid().ValueOr(false) && |
| !has_mid().ValueOr(false)) |
| return false; |
| if (has_mid().ValueOr(false) && |
| !emboss_reserved_local_other.has_mid().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_mid().ValueOr(false) && |
| has_mid().ValueOr(false) && |
| !mid().UncheckedEquals(emboss_reserved_local_other.mid())) |
| return false; |
| |
| |
| |
| if (emboss_reserved_local_other.has_high().ValueOr(false) && |
| !has_high().ValueOr(false)) |
| return false; |
| if (has_high().ValueOr(false) && |
| !emboss_reserved_local_other.has_high().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_high().ValueOr(false) && |
| has_high().ValueOr(false) && |
| !high().UncheckedEquals(emboss_reserved_local_other.high())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericEmbossReservedAnonymousField2View<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBits().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericEmbossReservedAnonymousField2View<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBits().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericEmbossReservedAnonymousField2View<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 == "low") { |
| if (!low().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "mid") { |
| if (!mid().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "high") { |
| if (!high().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_low().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| low().IsAggregate() || low().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("low: "); |
| low().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() && |
| !low().IsAggregate() && !low().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("# low: UNREADABLE\n"); |
| } |
| } |
| |
| if (has_mid().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| mid().IsAggregate() || mid().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("mid: "); |
| mid().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() && |
| !mid().IsAggregate() && !mid().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("# mid: UNREADABLE\n"); |
| } |
| } |
| |
| if (has_high().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| high().IsAggregate() || high().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("high: "); |
| high().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() && |
| !high().IsAggregate() && !high().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("# high: 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<1, ::emboss::support::AllValuesAreOk>, |
| typename Storage::template OffsetStorageType</**/0, 0>> |
| |
| low() const; |
| ::emboss::support::Maybe<bool> has_low() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<2, ::emboss::support::AllValuesAreOk>, |
| typename Storage::template OffsetStorageType</**/0, 3>> |
| |
| mid() const; |
| ::emboss::support::Maybe<bool> has_mid() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<1, ::emboss::support::AllValuesAreOk>, |
| typename Storage::template OffsetStorageType</**/0, 7>> |
| |
| high() const; |
| ::emboss::support::Maybe<bool> has_high() 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 GenericEmbossReservedAnonymousField2View; |
| }; |
| using EmbossReservedAnonymousField2View = |
| GenericEmbossReservedAnonymousField2View</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using EmbossReservedAnonymousField2Writer = |
| GenericEmbossReservedAnonymousField2View</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericEmbossReservedAnonymousField2View { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericEmbossReservedAnonymousField2View< |
| GenericEmbossReservedAnonymousField2View<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericEmbossReservedAnonymousField2View< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeEmbossReservedAnonymousField2View( T &&emboss_reserved_local_arg) { |
| return GenericEmbossReservedAnonymousField2View< |
| /**/ ::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 GenericEmbossReservedAnonymousField2View</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeEmbossReservedAnonymousField2View( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericEmbossReservedAnonymousField2View</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericEmbossReservedAnonymousField2View< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedEmbossReservedAnonymousField2View( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericEmbossReservedAnonymousField2View< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| } // namespace ConditionalAnonymous |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericConditionalAnonymousView; |
| |
| template <class Storage> |
| class GenericConditionalAnonymousView final { |
| public: |
| GenericConditionalAnonymousView() : backing_() {} |
| explicit GenericConditionalAnonymousView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericConditionalAnonymousView( |
| const GenericConditionalAnonymousView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericConditionalAnonymousView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericConditionalAnonymousView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericConditionalAnonymousView( |
| 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> |
| GenericConditionalAnonymousView<Storage> &operator=( |
| const GenericConditionalAnonymousView<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_emboss_reserved_anonymous_field_2().Known()) return false; |
| if (has_emboss_reserved_anonymous_field_2().ValueOrDefault() && !emboss_reserved_anonymous_field_2().Ok()) return false; |
| |
| |
| if (!has_low().Known()) return false; |
| if (has_low().ValueOrDefault() && !low().Ok()) return false; |
| |
| |
| if (!has_mid().Known()) return false; |
| if (has_mid().ValueOrDefault() && !mid().Ok()) return false; |
| |
| |
| if (!has_high().Known()) return false; |
| if (has_high().ValueOrDefault() && !high().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()); |
| } |
| ::std::size_t SizeInBytes() const { |
| return static_cast</**/ ::std::size_t>(IntrinsicSizeInBytes().Read()); |
| } |
| bool SizeIsKnown() const { return IntrinsicSizeInBytes().Ok(); } |
| |
| |
| |
| template <typename OtherStorage> |
| bool Equals( |
| GenericConditionalAnonymousView<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_emboss_reserved_anonymous_field_2().Known()) return false; |
| if (!emboss_reserved_local_other.has_emboss_reserved_anonymous_field_2().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_emboss_reserved_anonymous_field_2().ValueOrDefault() && |
| !has_emboss_reserved_anonymous_field_2().ValueOrDefault()) |
| return false; |
| if (has_emboss_reserved_anonymous_field_2().ValueOrDefault() && |
| !emboss_reserved_local_other.has_emboss_reserved_anonymous_field_2().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_emboss_reserved_anonymous_field_2().ValueOrDefault() && |
| has_emboss_reserved_anonymous_field_2().ValueOrDefault() && |
| !emboss_reserved_anonymous_field_2().Equals(emboss_reserved_local_other.emboss_reserved_anonymous_field_2())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericConditionalAnonymousView<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_emboss_reserved_anonymous_field_2().ValueOr(false) && |
| !has_emboss_reserved_anonymous_field_2().ValueOr(false)) |
| return false; |
| if (has_emboss_reserved_anonymous_field_2().ValueOr(false) && |
| !emboss_reserved_local_other.has_emboss_reserved_anonymous_field_2().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_emboss_reserved_anonymous_field_2().ValueOr(false) && |
| has_emboss_reserved_anonymous_field_2().ValueOr(false) && |
| !emboss_reserved_anonymous_field_2().UncheckedEquals(emboss_reserved_local_other.emboss_reserved_anonymous_field_2())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericConditionalAnonymousView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericConditionalAnonymousView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericConditionalAnonymousView<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 == "x") { |
| if (!x().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "low") { |
| if (!low().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "mid") { |
| if (!mid().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "high") { |
| if (!high().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_low().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| low().IsAggregate() || low().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("low: "); |
| low().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() && |
| !low().IsAggregate() && !low().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("# low: UNREADABLE\n"); |
| } |
| } |
| |
| if (has_mid().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| mid().IsAggregate() || mid().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("mid: "); |
| mid().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() && |
| !mid().IsAggregate() && !mid().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("# mid: UNREADABLE\n"); |
| } |
| } |
| |
| if (has_high().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| high().IsAggregate() || high().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("high: "); |
| high().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() && |
| !high().IsAggregate() && !high().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("# high: 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>> |
| |
| x() const; |
| ::emboss::support::Maybe<bool> has_x() const; |
| |
| private: |
| typename ::emboss::test::ConditionalAnonymous::GenericEmbossReservedAnonymousField2View<typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| emboss_reserved_anonymous_field_2() const; |
| ::emboss::support::Maybe<bool> has_emboss_reserved_anonymous_field_2() const; |
| |
| public: |
| auto low() const -> decltype(this->emboss_reserved_anonymous_field_2().low()) { |
| return has_low().ValueOrDefault() ? emboss_reserved_anonymous_field_2().low() |
| : decltype(this->emboss_reserved_anonymous_field_2().low())(); |
| } |
| ::emboss::support::Maybe<bool> has_low() const; |
| |
| public: |
| auto mid() const -> decltype(this->emboss_reserved_anonymous_field_2().mid()) { |
| return has_mid().ValueOrDefault() ? emboss_reserved_anonymous_field_2().mid() |
| : decltype(this->emboss_reserved_anonymous_field_2().mid())(); |
| } |
| ::emboss::support::Maybe<bool> has_mid() const; |
| |
| public: |
| auto high() const -> decltype(this->emboss_reserved_anonymous_field_2().high()) { |
| return has_high().ValueOrDefault() ? emboss_reserved_anonymous_field_2().high() |
| : decltype(this->emboss_reserved_anonymous_field_2().high())(); |
| } |
| ::emboss::support::Maybe<bool> has_high() const; |
| |
| public: |
| class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final { |
| public: |
| using ValueType = ::std::int32_t; |
| |
| explicit EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| const GenericConditionalAnonymousView &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_.x(); |
| 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::GreaterThan</**/::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>(10LL))); |
| const auto emboss_reserved_local_subexpr_4 = ::emboss::support::Choice</**/::std::int32_t, ::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(emboss_reserved_local_subexpr_3, ::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_5 = ::emboss::support::Maximum</**/::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_reserved_local_subexpr_4); |
| |
| return emboss_reserved_local_subexpr_5; |
| } |
| |
| 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 GenericConditionalAnonymousView 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 GenericConditionalAnonymousView; |
| }; |
| using ConditionalAnonymousView = |
| GenericConditionalAnonymousView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using ConditionalAnonymousWriter = |
| GenericConditionalAnonymousView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericConditionalAnonymousView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericConditionalAnonymousView< |
| GenericConditionalAnonymousView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericConditionalAnonymousView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeConditionalAnonymousView( T &&emboss_reserved_local_arg) { |
| return GenericConditionalAnonymousView< |
| /**/ ::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 GenericConditionalAnonymousView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeConditionalAnonymousView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericConditionalAnonymousView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericConditionalAnonymousView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedConditionalAnonymousView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericConditionalAnonymousView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| |
| |
| |
| |
| namespace ConditionalOnFlag { |
| |
| |
| |
| 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_enabled().Known()) return false; |
| if (has_enabled().ValueOrDefault() && !enabled().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_enabled().Known()) return false; |
| if (!emboss_reserved_local_other.has_enabled().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_enabled().ValueOrDefault() && |
| !has_enabled().ValueOrDefault()) |
| return false; |
| if (has_enabled().ValueOrDefault() && |
| !emboss_reserved_local_other.has_enabled().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_enabled().ValueOrDefault() && |
| has_enabled().ValueOrDefault() && |
| !enabled().Equals(emboss_reserved_local_other.enabled())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericEmbossReservedAnonymousField1View<OtherStorage> emboss_reserved_local_other) const { |
| |
| if (emboss_reserved_local_other.has_enabled().ValueOr(false) && |
| !has_enabled().ValueOr(false)) |
| return false; |
| if (has_enabled().ValueOr(false) && |
| !emboss_reserved_local_other.has_enabled().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_enabled().ValueOr(false) && |
| has_enabled().ValueOr(false) && |
| !enabled().UncheckedEquals(emboss_reserved_local_other.enabled())) |
| 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 == "enabled") { |
| if (!enabled().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_enabled().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| enabled().IsAggregate() || enabled().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("enabled: "); |
| enabled().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() && |
| !enabled().IsAggregate() && !enabled().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("# enabled: 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::FlagView< |
| /**/ ::emboss::support::FixedSizeViewParameters<1, ::emboss::support::AllValuesAreOk>, |
| typename Storage::template OffsetStorageType</**/0, 0>> |
| |
| enabled() const; |
| ::emboss::support::Maybe<bool> has_enabled() 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 ConditionalOnFlag |
| |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericConditionalOnFlagView; |
| |
| template <class Storage> |
| class GenericConditionalOnFlagView final { |
| public: |
| GenericConditionalOnFlagView() : backing_() {} |
| explicit GenericConditionalOnFlagView( |
| Storage emboss_reserved_local_bytes) |
| : backing_(emboss_reserved_local_bytes) |
| {} |
| |
| template <typename OtherStorage> |
| GenericConditionalOnFlagView( |
| const GenericConditionalOnFlagView<OtherStorage> &emboss_reserved_local_other) |
| : backing_{emboss_reserved_local_other.BackingStorage()} |
| {} |
| |
| template <typename Arg, |
| typename = typename ::std::enable_if< |
| !EmbossReservedInternalIsGenericConditionalOnFlagView< |
| typename ::std::remove_cv<typename ::std::remove_reference< |
| Arg>::type>::type>::value>::type> |
| explicit GenericConditionalOnFlagView( |
| Arg &&emboss_reserved_local_arg) |
| : backing_(::std::forward<Arg>( |
| emboss_reserved_local_arg)) |
| {} |
| template <typename Arg0, typename Arg1, typename... Args> |
| explicit GenericConditionalOnFlagView( |
| 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> |
| GenericConditionalOnFlagView<Storage> &operator=( |
| const GenericConditionalOnFlagView<OtherStorage> &emboss_reserved_local_other) { |
| backing_ = emboss_reserved_local_other.BackingStorage(); |
| return *this; |
| } |
| |
| |
| |
| bool Ok() const { |
| if (!IsComplete()) 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_enabled().Known()) return false; |
| if (has_enabled().ValueOrDefault() && !enabled().Ok()) return false; |
| |
| |
| if (!has_value().Known()) return false; |
| if (has_value().ValueOrDefault() && !value().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()); |
| } |
| ::std::size_t SizeInBytes() const { |
| return static_cast</**/ ::std::size_t>(IntrinsicSizeInBytes().Read()); |
| } |
| bool SizeIsKnown() const { return IntrinsicSizeInBytes().Ok(); } |
| |
| |
| |
| template <typename OtherStorage> |
| bool Equals( |
| GenericConditionalOnFlagView<OtherStorage> emboss_reserved_local_other) const { |
| |
| 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_value().Known()) return false; |
| if (!emboss_reserved_local_other.has_value().Known()) return false; |
| |
| if (emboss_reserved_local_other.has_value().ValueOrDefault() && |
| !has_value().ValueOrDefault()) |
| return false; |
| if (has_value().ValueOrDefault() && |
| !emboss_reserved_local_other.has_value().ValueOrDefault()) |
| return false; |
| |
| if (emboss_reserved_local_other.has_value().ValueOrDefault() && |
| has_value().ValueOrDefault() && |
| !value().Equals(emboss_reserved_local_other.value())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| bool UncheckedEquals( |
| GenericConditionalOnFlagView<OtherStorage> emboss_reserved_local_other) const { |
| |
| 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_value().ValueOr(false) && |
| !has_value().ValueOr(false)) |
| return false; |
| if (has_value().ValueOr(false) && |
| !emboss_reserved_local_other.has_value().ValueOr(false)) |
| return false; |
| |
| if (emboss_reserved_local_other.has_value().ValueOr(false) && |
| has_value().ValueOr(false) && |
| !value().UncheckedEquals(emboss_reserved_local_other.value())) |
| return false; |
| |
| return true; |
| } |
| template <typename OtherStorage> |
| void UncheckedCopyFrom( |
| GenericConditionalOnFlagView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.UncheckedCopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); |
| } |
| |
| template <typename OtherStorage> |
| void CopyFrom( |
| GenericConditionalOnFlagView<OtherStorage> emboss_reserved_local_other) const { |
| backing_.CopyFrom( |
| emboss_reserved_local_other.BackingStorage(), |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); |
| } |
| template <typename OtherStorage> |
| bool TryToCopyFrom( |
| GenericConditionalOnFlagView<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 == "enabled") { |
| if (!enabled().UpdateFromTextStream( |
| emboss_reserved_local_stream)) { |
| return false; |
| } |
| continue; |
| } |
| |
| if (emboss_reserved_local_name == "value") { |
| if (!value().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_enabled().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| enabled().IsAggregate() || enabled().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("enabled: "); |
| enabled().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() && |
| !enabled().IsAggregate() && !enabled().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("# enabled: UNREADABLE\n"); |
| } |
| } |
| |
| if (has_value().ValueOr(false)) { |
| if (!emboss_reserved_local_field_options.allow_partial_output() || |
| value().IsAggregate() || value().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("value: "); |
| value().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() && |
| !value().IsAggregate() && !value().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("# value: 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; } |
| |
| private: |
| typename ::emboss::test::ConditionalOnFlag::GenericEmbossReservedAnonymousField1View<typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 0>>, 8>> |
| |
| emboss_reserved_anonymous_field_1() const; |
| ::emboss::support::Maybe<bool> has_emboss_reserved_anonymous_field_1() const; |
| |
| public: |
| auto enabled() const -> decltype(this->emboss_reserved_anonymous_field_1().enabled()) { |
| return has_enabled().ValueOrDefault() ? emboss_reserved_anonymous_field_1().enabled() |
| : decltype(this->emboss_reserved_anonymous_field_1().enabled())(); |
| } |
| ::emboss::support::Maybe<bool> has_enabled() const; |
| |
| public: |
| typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| value() const; |
| ::emboss::support::Maybe<bool> has_value() const; |
| |
| public: |
| class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final { |
| public: |
| using ValueType = ::std::int32_t; |
| |
| explicit EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| const GenericConditionalOnFlagView &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_.enabled(); |
| const auto emboss_reserved_local_subexpr_2 = (emboss_reserved_local_subexpr_1.Ok() ? ::emboss::support::Maybe</**/bool>(static_cast</**/bool>(emboss_reserved_local_subexpr_1.UncheckedRead())) : ::emboss::support::Maybe</**/bool>()); |
| const auto emboss_reserved_local_subexpr_3 = ::emboss::support::Choice</**/::std::int32_t, ::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)), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL))); |
| const auto emboss_reserved_local_subexpr_4 = ::emboss::support::Maximum</**/::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_reserved_local_subexpr_3); |
| |
| return emboss_reserved_local_subexpr_4; |
| } |
| |
| 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 GenericConditionalOnFlagView 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 GenericConditionalOnFlagView; |
| }; |
| using ConditionalOnFlagView = |
| GenericConditionalOnFlagView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; |
| using ConditionalOnFlagWriter = |
| GenericConditionalOnFlagView</**/ ::emboss::support::ReadWriteContiguousBuffer>; |
| |
| template <class View> |
| struct EmbossReservedInternalIsGenericConditionalOnFlagView { |
| static constexpr const bool value = false; |
| }; |
| |
| template <class Storage> |
| struct EmbossReservedInternalIsGenericConditionalOnFlagView< |
| GenericConditionalOnFlagView<Storage>> { |
| static constexpr const bool value = true; |
| }; |
| |
| template <typename T> |
| inline GenericConditionalOnFlagView< |
| /**/ ::emboss::support::ContiguousBuffer< |
| typename ::std::remove_reference< |
| decltype(*::std::declval<T>()->data())>::type, |
| 1, 0>> |
| MakeConditionalOnFlagView( T &&emboss_reserved_local_arg) { |
| return GenericConditionalOnFlagView< |
| /**/ ::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 GenericConditionalOnFlagView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> |
| MakeConditionalOnFlagView( T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericConditionalOnFlagView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| template <typename T, ::std::size_t kAlignment> |
| inline GenericConditionalOnFlagView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> |
| MakeAlignedConditionalOnFlagView( |
| T *emboss_reserved_local_data, |
| ::std::size_t emboss_reserved_local_size) { |
| return GenericConditionalOnFlagView< |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( |
| emboss_reserved_local_data, |
| emboss_reserved_local_size); |
| } |
| |
| namespace BasicConditional { |
| |
| } // namespace BasicConditional |
| |
| |
| 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>> |
| |
| GenericBasicConditionalView<Storage>::x() |
| const { |
| |
| if ( has_x().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> |
| GenericBasicConditionalView<Storage>::has_x() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericBasicConditionalView<Storage>::xc() |
| const { |
| |
| if ( has_xc().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericBasicConditionalView<Storage>::has_xc() const { |
| return ::emboss::support::Equal</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((x().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(x().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL))); |
| } |
| |
| |
| template <class Storage> |
| inline typename GenericBasicConditionalView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView |
| GenericBasicConditionalView<Storage>::IntrinsicSizeInBytes() const { |
| return |
| typename GenericBasicConditionalView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| *this); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericBasicConditionalView<Storage>::has_IntrinsicSizeInBytes() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace BasicConditional { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(2LL)).ValueOrDefault(); |
| } |
| } // namespace BasicConditional |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericBasicConditionalView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return BasicConditional::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericBasicConditionalView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return BasicConditional::MaxSizeInBytes(); |
| } |
| |
| namespace BasicConditional { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL)).ValueOrDefault(); |
| } |
| } // namespace BasicConditional |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericBasicConditionalView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return BasicConditional::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericBasicConditionalView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return BasicConditional::MinSizeInBytes(); |
| } |
| namespace NegativeConditional { |
| |
| } // namespace NegativeConditional |
| |
| |
| 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>> |
| |
| GenericNegativeConditionalView<Storage>::x() |
| const { |
| |
| if ( has_x().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> |
| GenericNegativeConditionalView<Storage>::has_x() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericNegativeConditionalView<Storage>::xc() |
| const { |
| |
| if ( has_xc().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericNegativeConditionalView<Storage>::has_xc() const { |
| return ::emboss::support::NotEqual</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((x().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(x().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL))); |
| } |
| |
| |
| template <class Storage> |
| inline typename GenericNegativeConditionalView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView |
| GenericNegativeConditionalView<Storage>::IntrinsicSizeInBytes() const { |
| return |
| typename GenericNegativeConditionalView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| *this); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericNegativeConditionalView<Storage>::has_IntrinsicSizeInBytes() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace NegativeConditional { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(2LL)).ValueOrDefault(); |
| } |
| } // namespace NegativeConditional |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericNegativeConditionalView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return NegativeConditional::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericNegativeConditionalView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return NegativeConditional::MaxSizeInBytes(); |
| } |
| |
| namespace NegativeConditional { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL)).ValueOrDefault(); |
| } |
| } // namespace NegativeConditional |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericNegativeConditionalView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return NegativeConditional::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericNegativeConditionalView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return NegativeConditional::MinSizeInBytes(); |
| } |
| namespace ConditionalAndUnconditionalOverlappingFinalField { |
| |
| } // namespace ConditionalAndUnconditionalOverlappingFinalField |
| |
| |
| 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>> |
| |
| GenericConditionalAndUnconditionalOverlappingFinalFieldView<Storage>::x() |
| const { |
| |
| if ( has_x().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> |
| GenericConditionalAndUnconditionalOverlappingFinalFieldView<Storage>::has_x() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericConditionalAndUnconditionalOverlappingFinalFieldView<Storage>::xc() |
| const { |
| |
| if ( has_xc().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericConditionalAndUnconditionalOverlappingFinalFieldView<Storage>::has_xc() const { |
| return ::emboss::support::Equal</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((x().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(x().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::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| GenericConditionalAndUnconditionalOverlappingFinalFieldView<Storage>::z() |
| const { |
| |
| if ( has_z().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericConditionalAndUnconditionalOverlappingFinalFieldView<Storage>::has_z() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace ConditionalAndUnconditionalOverlappingFinalField { |
| inline constexpr ::std::int32_t IntrinsicSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(2LL)).ValueOrDefault(); |
| } |
| } // namespace ConditionalAndUnconditionalOverlappingFinalField |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalAndUnconditionalOverlappingFinalFieldView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Read() { |
| return ConditionalAndUnconditionalOverlappingFinalField::IntrinsicSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalAndUnconditionalOverlappingFinalFieldView< |
| Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead() { |
| return ConditionalAndUnconditionalOverlappingFinalField::IntrinsicSizeInBytes(); |
| } |
| |
| namespace ConditionalAndUnconditionalOverlappingFinalField { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(2LL)).ValueOrDefault(); |
| } |
| } // namespace ConditionalAndUnconditionalOverlappingFinalField |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalAndUnconditionalOverlappingFinalFieldView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return ConditionalAndUnconditionalOverlappingFinalField::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalAndUnconditionalOverlappingFinalFieldView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return ConditionalAndUnconditionalOverlappingFinalField::MaxSizeInBytes(); |
| } |
| |
| namespace ConditionalAndUnconditionalOverlappingFinalField { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(2LL)).ValueOrDefault(); |
| } |
| } // namespace ConditionalAndUnconditionalOverlappingFinalField |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalAndUnconditionalOverlappingFinalFieldView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return ConditionalAndUnconditionalOverlappingFinalField::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalAndUnconditionalOverlappingFinalFieldView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return ConditionalAndUnconditionalOverlappingFinalField::MinSizeInBytes(); |
| } |
| namespace ConditionalBasicConditionalFieldFirst { |
| |
| } // namespace ConditionalBasicConditionalFieldFirst |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericConditionalBasicConditionalFieldFirstView<Storage>::x() |
| const { |
| |
| if ( has_x().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericConditionalBasicConditionalFieldFirstView<Storage>::has_x() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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>> |
| |
| GenericConditionalBasicConditionalFieldFirstView<Storage>::xc() |
| const { |
| |
| if ( has_xc().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> |
| GenericConditionalBasicConditionalFieldFirstView<Storage>::has_xc() const { |
| return ::emboss::support::Equal</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((x().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(x().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL))); |
| } |
| |
| |
| namespace ConditionalBasicConditionalFieldFirst { |
| inline constexpr ::std::int32_t IntrinsicSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(2LL)).ValueOrDefault(); |
| } |
| } // namespace ConditionalBasicConditionalFieldFirst |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalBasicConditionalFieldFirstView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Read() { |
| return ConditionalBasicConditionalFieldFirst::IntrinsicSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalBasicConditionalFieldFirstView< |
| Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead() { |
| return ConditionalBasicConditionalFieldFirst::IntrinsicSizeInBytes(); |
| } |
| |
| namespace ConditionalBasicConditionalFieldFirst { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(2LL)).ValueOrDefault(); |
| } |
| } // namespace ConditionalBasicConditionalFieldFirst |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalBasicConditionalFieldFirstView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return ConditionalBasicConditionalFieldFirst::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalBasicConditionalFieldFirstView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return ConditionalBasicConditionalFieldFirst::MaxSizeInBytes(); |
| } |
| |
| namespace ConditionalBasicConditionalFieldFirst { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(2LL)).ValueOrDefault(); |
| } |
| } // namespace ConditionalBasicConditionalFieldFirst |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalBasicConditionalFieldFirstView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return ConditionalBasicConditionalFieldFirst::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalBasicConditionalFieldFirstView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return ConditionalBasicConditionalFieldFirst::MinSizeInBytes(); |
| } |
| namespace ConditionalAndDynamicLocation { |
| |
| } // namespace ConditionalAndDynamicLocation |
| |
| |
| 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>> |
| |
| GenericConditionalAndDynamicLocationView<Storage>::x() |
| const { |
| |
| if ( has_x().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> |
| GenericConditionalAndDynamicLocationView<Storage>::has_x() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 2>>, 8>> |
| |
| GenericConditionalAndDynamicLocationView<Storage>::y() |
| const { |
| |
| if ( has_y().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::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| ( |
| backing_ |
| .template GetOffsetStorage<0, |
| 2>( |
| 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, 2>>, 8>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericConditionalAndDynamicLocationView<Storage>::has_y() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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</**/1, 0>>, 8>> |
| |
| GenericConditionalAndDynamicLocationView<Storage>::xc() |
| const { |
| |
| if ( has_xc().ValueOr(false)) { |
| const auto emboss_reserved_local_subexpr_1 = y(); |
| 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>()); |
| |
| auto emboss_reserved_local_size = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL)); |
| auto emboss_reserved_local_offset = emboss_reserved_local_subexpr_2; |
| 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</**/1, 0>>, 8>> |
| |
| ( |
| backing_ |
| .template GetOffsetStorage<1, |
| 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</**/1, 0>>, 8>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericConditionalAndDynamicLocationView<Storage>::has_xc() const { |
| return ::emboss::support::Equal</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((x().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(x().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL))); |
| } |
| |
| |
| template <class Storage> |
| inline typename GenericConditionalAndDynamicLocationView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView |
| GenericConditionalAndDynamicLocationView<Storage>::IntrinsicSizeInBytes() const { |
| return |
| typename GenericConditionalAndDynamicLocationView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| *this); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericConditionalAndDynamicLocationView<Storage>::has_IntrinsicSizeInBytes() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace ConditionalAndDynamicLocation { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(256LL)).ValueOrDefault(); |
| } |
| } // namespace ConditionalAndDynamicLocation |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalAndDynamicLocationView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return ConditionalAndDynamicLocation::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalAndDynamicLocationView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return ConditionalAndDynamicLocation::MaxSizeInBytes(); |
| } |
| |
| namespace ConditionalAndDynamicLocation { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(3LL)).ValueOrDefault(); |
| } |
| } // namespace ConditionalAndDynamicLocation |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalAndDynamicLocationView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return ConditionalAndDynamicLocation::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalAndDynamicLocationView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return ConditionalAndDynamicLocation::MinSizeInBytes(); |
| } |
| namespace ConditionUsesMinInt { |
| |
| } // namespace ConditionUsesMinInt |
| |
| |
| 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, 0>>, 8>> |
| |
| GenericConditionUsesMinIntView<Storage>::x() |
| const { |
| |
| if ( has_x().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::IntView< |
| /**/ ::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::IntView< |
| /**/ ::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> |
| GenericConditionUsesMinIntView<Storage>::has_x() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericConditionUsesMinIntView<Storage>::xc() |
| const { |
| |
| if ( has_xc().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericConditionUsesMinIntView<Storage>::has_xc() const { |
| return ::emboss::support::Equal</**/::std::int64_t, bool, ::std::int64_t, ::std::int64_t>(::emboss::support::Difference</**/::std::int64_t, ::std::int64_t, ::std::int32_t, ::std::int64_t>((x().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(x().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), ::emboss::support::Maybe</**/::std::int64_t>(static_cast</**/::std::int64_t>(9223372036854775680LL))), ::emboss::support::Maybe</**/::std::int64_t>(static_cast</**/::std::int64_t>(-9223372036854775807LL - 1))); |
| } |
| |
| |
| template <class Storage> |
| inline typename GenericConditionUsesMinIntView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView |
| GenericConditionUsesMinIntView<Storage>::IntrinsicSizeInBytes() const { |
| return |
| typename GenericConditionUsesMinIntView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| *this); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericConditionUsesMinIntView<Storage>::has_IntrinsicSizeInBytes() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace ConditionUsesMinInt { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(2LL)).ValueOrDefault(); |
| } |
| } // namespace ConditionUsesMinInt |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionUsesMinIntView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return ConditionUsesMinInt::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionUsesMinIntView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return ConditionUsesMinInt::MaxSizeInBytes(); |
| } |
| |
| namespace ConditionUsesMinInt { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL)).ValueOrDefault(); |
| } |
| } // namespace ConditionUsesMinInt |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionUsesMinIntView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return ConditionUsesMinInt::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionUsesMinIntView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return ConditionUsesMinInt::MinSizeInBytes(); |
| } |
| namespace NestedConditional { |
| |
| } // namespace NestedConditional |
| |
| |
| 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>> |
| |
| GenericNestedConditionalView<Storage>::x() |
| const { |
| |
| if ( has_x().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> |
| GenericNestedConditionalView<Storage>::has_x() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericNestedConditionalView<Storage>::xc() |
| const { |
| |
| if ( has_xc().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericNestedConditionalView<Storage>::has_xc() const { |
| return ::emboss::support::Equal</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((x().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(x().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::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| GenericNestedConditionalView<Storage>::xcc() |
| const { |
| |
| if ( has_xcc().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::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| ( |
| backing_ |
| .template GetOffsetStorage<0, |
| 2>( |
| 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, 2>>, 8>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericNestedConditionalView<Storage>::has_xcc() const { |
| return ::emboss::support::Equal</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((xc().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(xc().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL))); |
| } |
| |
| |
| template <class Storage> |
| inline typename GenericNestedConditionalView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView |
| GenericNestedConditionalView<Storage>::IntrinsicSizeInBytes() const { |
| return |
| typename GenericNestedConditionalView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| *this); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericNestedConditionalView<Storage>::has_IntrinsicSizeInBytes() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace NestedConditional { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(3LL)).ValueOrDefault(); |
| } |
| } // namespace NestedConditional |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericNestedConditionalView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return NestedConditional::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericNestedConditionalView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return NestedConditional::MaxSizeInBytes(); |
| } |
| |
| namespace NestedConditional { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL)).ValueOrDefault(); |
| } |
| } // namespace NestedConditional |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericNestedConditionalView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return NestedConditional::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericNestedConditionalView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return NestedConditional::MinSizeInBytes(); |
| } |
| namespace CorrectNestedConditional { |
| |
| } // namespace CorrectNestedConditional |
| |
| |
| 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>> |
| |
| GenericCorrectNestedConditionalView<Storage>::x() |
| const { |
| |
| if ( has_x().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> |
| GenericCorrectNestedConditionalView<Storage>::has_x() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericCorrectNestedConditionalView<Storage>::xc() |
| const { |
| |
| if ( has_xc().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericCorrectNestedConditionalView<Storage>::has_xc() const { |
| return ::emboss::support::Equal</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((x().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(x().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::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| GenericCorrectNestedConditionalView<Storage>::xcc() |
| const { |
| |
| if ( has_xcc().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::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| ( |
| backing_ |
| .template GetOffsetStorage<0, |
| 2>( |
| 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, 2>>, 8>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericCorrectNestedConditionalView<Storage>::has_xcc() const { |
| return ::emboss::support::And</**/bool, bool, bool, bool>(::emboss::support::Equal</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((x().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(x().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL))), ::emboss::support::Equal</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((xc().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(xc().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL)))); |
| } |
| |
| |
| template <class Storage> |
| inline typename GenericCorrectNestedConditionalView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView |
| GenericCorrectNestedConditionalView<Storage>::IntrinsicSizeInBytes() const { |
| return |
| typename GenericCorrectNestedConditionalView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| *this); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericCorrectNestedConditionalView<Storage>::has_IntrinsicSizeInBytes() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace CorrectNestedConditional { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(3LL)).ValueOrDefault(); |
| } |
| } // namespace CorrectNestedConditional |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericCorrectNestedConditionalView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return CorrectNestedConditional::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericCorrectNestedConditionalView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return CorrectNestedConditional::MaxSizeInBytes(); |
| } |
| |
| namespace CorrectNestedConditional { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL)).ValueOrDefault(); |
| } |
| } // namespace CorrectNestedConditional |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericCorrectNestedConditionalView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return CorrectNestedConditional::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericCorrectNestedConditionalView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return CorrectNestedConditional::MinSizeInBytes(); |
| } |
| namespace AlwaysFalseCondition { |
| |
| } // namespace AlwaysFalseCondition |
| |
| |
| 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>> |
| |
| GenericAlwaysFalseConditionView<Storage>::x() |
| const { |
| |
| if ( has_x().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> |
| GenericAlwaysFalseConditionView<Storage>::has_x() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericAlwaysFalseConditionView<Storage>::xc() |
| const { |
| |
| if ( has_xc().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericAlwaysFalseConditionView<Storage>::has_xc() const { |
| return ::emboss::support::Maybe</**/bool>(false); |
| } |
| |
| |
| namespace AlwaysFalseCondition { |
| inline constexpr ::std::int32_t IntrinsicSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL)).ValueOrDefault(); |
| } |
| } // namespace AlwaysFalseCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericAlwaysFalseConditionView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Read() { |
| return AlwaysFalseCondition::IntrinsicSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericAlwaysFalseConditionView< |
| Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead() { |
| return AlwaysFalseCondition::IntrinsicSizeInBytes(); |
| } |
| |
| namespace AlwaysFalseCondition { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL)).ValueOrDefault(); |
| } |
| } // namespace AlwaysFalseCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericAlwaysFalseConditionView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return AlwaysFalseCondition::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericAlwaysFalseConditionView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return AlwaysFalseCondition::MaxSizeInBytes(); |
| } |
| |
| namespace AlwaysFalseCondition { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL)).ValueOrDefault(); |
| } |
| } // namespace AlwaysFalseCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericAlwaysFalseConditionView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return AlwaysFalseCondition::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericAlwaysFalseConditionView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return AlwaysFalseCondition::MinSizeInBytes(); |
| } |
| namespace OnlyAlwaysFalseCondition { |
| |
| } // namespace OnlyAlwaysFalseCondition |
| |
| |
| 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>> |
| |
| GenericOnlyAlwaysFalseConditionView<Storage>::xc() |
| const { |
| |
| if ( has_xc().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> |
| GenericOnlyAlwaysFalseConditionView<Storage>::has_xc() const { |
| return ::emboss::support::Maybe</**/bool>(false); |
| } |
| |
| |
| namespace OnlyAlwaysFalseCondition { |
| inline constexpr ::std::int32_t IntrinsicSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL)).ValueOrDefault(); |
| } |
| } // namespace OnlyAlwaysFalseCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericOnlyAlwaysFalseConditionView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Read() { |
| return OnlyAlwaysFalseCondition::IntrinsicSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericOnlyAlwaysFalseConditionView< |
| Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead() { |
| return OnlyAlwaysFalseCondition::IntrinsicSizeInBytes(); |
| } |
| |
| namespace OnlyAlwaysFalseCondition { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL)).ValueOrDefault(); |
| } |
| } // namespace OnlyAlwaysFalseCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericOnlyAlwaysFalseConditionView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return OnlyAlwaysFalseCondition::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericOnlyAlwaysFalseConditionView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return OnlyAlwaysFalseCondition::MaxSizeInBytes(); |
| } |
| |
| namespace OnlyAlwaysFalseCondition { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL)).ValueOrDefault(); |
| } |
| } // namespace OnlyAlwaysFalseCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericOnlyAlwaysFalseConditionView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return OnlyAlwaysFalseCondition::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericOnlyAlwaysFalseConditionView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return OnlyAlwaysFalseCondition::MinSizeInBytes(); |
| } |
| namespace EmptyStruct { |
| |
| } // namespace EmptyStruct |
| |
| |
| namespace EmptyStruct { |
| inline constexpr ::std::int32_t IntrinsicSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL)).ValueOrDefault(); |
| } |
| } // namespace EmptyStruct |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericEmptyStructView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Read() { |
| return EmptyStruct::IntrinsicSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericEmptyStructView< |
| Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead() { |
| return EmptyStruct::IntrinsicSizeInBytes(); |
| } |
| |
| namespace EmptyStruct { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL)).ValueOrDefault(); |
| } |
| } // namespace EmptyStruct |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericEmptyStructView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return EmptyStruct::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericEmptyStructView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return EmptyStruct::MaxSizeInBytes(); |
| } |
| |
| namespace EmptyStruct { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL)).ValueOrDefault(); |
| } |
| } // namespace EmptyStruct |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericEmptyStructView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return EmptyStruct::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericEmptyStructView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return EmptyStruct::MinSizeInBytes(); |
| } |
| namespace AlwaysFalseConditionDynamicSize { |
| |
| } // namespace AlwaysFalseConditionDynamicSize |
| |
| |
| 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>> |
| |
| GenericAlwaysFalseConditionDynamicSizeView<Storage>::x() |
| const { |
| |
| if ( has_x().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> |
| GenericAlwaysFalseConditionDynamicSizeView<Storage>::has_x() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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</**/1, 0>>, 8>> |
| |
| GenericAlwaysFalseConditionDynamicSizeView<Storage>::y() |
| const { |
| |
| if ( has_y().ValueOr(false)) { |
| const auto emboss_reserved_local_subexpr_1 = x(); |
| 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>()); |
| |
| auto emboss_reserved_local_size = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL)); |
| auto emboss_reserved_local_offset = emboss_reserved_local_subexpr_2; |
| 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</**/1, 0>>, 8>> |
| |
| ( |
| backing_ |
| .template GetOffsetStorage<1, |
| 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</**/1, 0>>, 8>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericAlwaysFalseConditionDynamicSizeView<Storage>::has_y() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericAlwaysFalseConditionDynamicSizeView<Storage>::xc() |
| const { |
| |
| if ( has_xc().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericAlwaysFalseConditionDynamicSizeView<Storage>::has_xc() const { |
| return ::emboss::support::Maybe</**/bool>(false); |
| } |
| |
| |
| template <class Storage> |
| inline typename GenericAlwaysFalseConditionDynamicSizeView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView |
| GenericAlwaysFalseConditionDynamicSizeView<Storage>::IntrinsicSizeInBytes() const { |
| return |
| typename GenericAlwaysFalseConditionDynamicSizeView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| *this); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericAlwaysFalseConditionDynamicSizeView<Storage>::has_IntrinsicSizeInBytes() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace AlwaysFalseConditionDynamicSize { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(256LL)).ValueOrDefault(); |
| } |
| } // namespace AlwaysFalseConditionDynamicSize |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericAlwaysFalseConditionDynamicSizeView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return AlwaysFalseConditionDynamicSize::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericAlwaysFalseConditionDynamicSizeView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return AlwaysFalseConditionDynamicSize::MaxSizeInBytes(); |
| } |
| |
| namespace AlwaysFalseConditionDynamicSize { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL)).ValueOrDefault(); |
| } |
| } // namespace AlwaysFalseConditionDynamicSize |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericAlwaysFalseConditionDynamicSizeView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return AlwaysFalseConditionDynamicSize::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericAlwaysFalseConditionDynamicSizeView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return AlwaysFalseConditionDynamicSize::MinSizeInBytes(); |
| } |
| namespace ConditionDoesNotContributeToSize { |
| |
| } // namespace ConditionDoesNotContributeToSize |
| |
| |
| 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>> |
| |
| GenericConditionDoesNotContributeToSizeView<Storage>::x() |
| const { |
| |
| if ( has_x().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> |
| GenericConditionDoesNotContributeToSizeView<Storage>::has_x() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericConditionDoesNotContributeToSizeView<Storage>::xc() |
| const { |
| |
| if ( has_xc().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericConditionDoesNotContributeToSizeView<Storage>::has_xc() const { |
| return ::emboss::support::Equal</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((x().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(x().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::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| GenericConditionDoesNotContributeToSizeView<Storage>::y() |
| const { |
| |
| if ( has_y().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::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| ( |
| backing_ |
| .template GetOffsetStorage<0, |
| 2>( |
| 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, 2>>, 8>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericConditionDoesNotContributeToSizeView<Storage>::has_y() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace ConditionDoesNotContributeToSize { |
| inline constexpr ::std::int32_t IntrinsicSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(3LL)).ValueOrDefault(); |
| } |
| } // namespace ConditionDoesNotContributeToSize |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionDoesNotContributeToSizeView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Read() { |
| return ConditionDoesNotContributeToSize::IntrinsicSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionDoesNotContributeToSizeView< |
| Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead() { |
| return ConditionDoesNotContributeToSize::IntrinsicSizeInBytes(); |
| } |
| |
| namespace ConditionDoesNotContributeToSize { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(3LL)).ValueOrDefault(); |
| } |
| } // namespace ConditionDoesNotContributeToSize |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionDoesNotContributeToSizeView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return ConditionDoesNotContributeToSize::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionDoesNotContributeToSizeView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return ConditionDoesNotContributeToSize::MaxSizeInBytes(); |
| } |
| |
| namespace ConditionDoesNotContributeToSize { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(3LL)).ValueOrDefault(); |
| } |
| } // namespace ConditionDoesNotContributeToSize |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionDoesNotContributeToSizeView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return ConditionDoesNotContributeToSize::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionDoesNotContributeToSizeView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return ConditionDoesNotContributeToSize::MinSizeInBytes(); |
| } |
| namespace EnumCondition { |
| |
| } // namespace EnumCondition |
| |
| |
| template <class Storage> |
| inline typename ::emboss::support::EnumView< |
| /**/ ::emboss::test::OnOff, |
| ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 0>>, 8>> |
| |
| GenericEnumConditionView<Storage>::x() |
| const { |
| |
| if ( has_x().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::support::EnumView< |
| /**/ ::emboss::test::OnOff, |
| ::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::support::EnumView< |
| /**/ ::emboss::test::OnOff, |
| ::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> |
| GenericEnumConditionView<Storage>::has_x() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericEnumConditionView<Storage>::xc() |
| const { |
| |
| if ( has_xc().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericEnumConditionView<Storage>::has_xc() const { |
| return ::emboss::support::Equal</**/::emboss::test::OnOff, bool, ::emboss::test::OnOff, ::emboss::test::OnOff>((x().Ok() ? ::emboss::support::Maybe</**/::emboss::test::OnOff>(static_cast</**/::emboss::test::OnOff>(x().UncheckedRead())) : ::emboss::support::Maybe</**/::emboss::test::OnOff>()), ::emboss::support::Maybe</**/::emboss::test::OnOff>(static_cast</**/::emboss::test::OnOff>(1))); |
| } |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericEnumConditionView<Storage>::xc2() |
| const { |
| |
| if ( has_xc2().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericEnumConditionView<Storage>::has_xc2() const { |
| return ::emboss::support::GreaterThan</**/::emboss::test::OnOff, bool, ::emboss::test::OnOff, ::emboss::test::OnOff>((x().Ok() ? ::emboss::support::Maybe</**/::emboss::test::OnOff>(static_cast</**/::emboss::test::OnOff>(x().UncheckedRead())) : ::emboss::support::Maybe</**/::emboss::test::OnOff>()), ::emboss::support::Maybe</**/::emboss::test::OnOff>(static_cast</**/::emboss::test::OnOff>(0))); |
| } |
| |
| |
| template <class Storage> |
| inline typename GenericEnumConditionView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView |
| GenericEnumConditionView<Storage>::IntrinsicSizeInBytes() const { |
| return |
| typename GenericEnumConditionView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| *this); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericEnumConditionView<Storage>::has_IntrinsicSizeInBytes() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace EnumCondition { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(2LL)).ValueOrDefault(); |
| } |
| } // namespace EnumCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericEnumConditionView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return EnumCondition::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericEnumConditionView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return EnumCondition::MaxSizeInBytes(); |
| } |
| |
| namespace EnumCondition { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL)).ValueOrDefault(); |
| } |
| } // namespace EnumCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericEnumConditionView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return EnumCondition::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericEnumConditionView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return EnumCondition::MinSizeInBytes(); |
| } |
| namespace NegativeEnumCondition { |
| |
| } // namespace NegativeEnumCondition |
| |
| |
| template <class Storage> |
| inline typename ::emboss::support::EnumView< |
| /**/ ::emboss::test::OnOff, |
| ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 0>>, 8>> |
| |
| GenericNegativeEnumConditionView<Storage>::x() |
| const { |
| |
| if ( has_x().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::support::EnumView< |
| /**/ ::emboss::test::OnOff, |
| ::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::support::EnumView< |
| /**/ ::emboss::test::OnOff, |
| ::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> |
| GenericNegativeEnumConditionView<Storage>::has_x() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericNegativeEnumConditionView<Storage>::xc() |
| const { |
| |
| if ( has_xc().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericNegativeEnumConditionView<Storage>::has_xc() const { |
| return ::emboss::support::NotEqual</**/::emboss::test::OnOff, bool, ::emboss::test::OnOff, ::emboss::test::OnOff>((x().Ok() ? ::emboss::support::Maybe</**/::emboss::test::OnOff>(static_cast</**/::emboss::test::OnOff>(x().UncheckedRead())) : ::emboss::support::Maybe</**/::emboss::test::OnOff>()), ::emboss::support::Maybe</**/::emboss::test::OnOff>(static_cast</**/::emboss::test::OnOff>(1))); |
| } |
| |
| |
| template <class Storage> |
| inline typename GenericNegativeEnumConditionView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView |
| GenericNegativeEnumConditionView<Storage>::IntrinsicSizeInBytes() const { |
| return |
| typename GenericNegativeEnumConditionView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| *this); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericNegativeEnumConditionView<Storage>::has_IntrinsicSizeInBytes() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace NegativeEnumCondition { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(2LL)).ValueOrDefault(); |
| } |
| } // namespace NegativeEnumCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericNegativeEnumConditionView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return NegativeEnumCondition::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericNegativeEnumConditionView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return NegativeEnumCondition::MaxSizeInBytes(); |
| } |
| |
| namespace NegativeEnumCondition { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL)).ValueOrDefault(); |
| } |
| } // namespace NegativeEnumCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericNegativeEnumConditionView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return NegativeEnumCondition::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericNegativeEnumConditionView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return NegativeEnumCondition::MinSizeInBytes(); |
| } |
| namespace LessThanCondition { |
| |
| } // namespace LessThanCondition |
| |
| |
| 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>> |
| |
| GenericLessThanConditionView<Storage>::x() |
| const { |
| |
| if ( has_x().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> |
| GenericLessThanConditionView<Storage>::has_x() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericLessThanConditionView<Storage>::xc() |
| const { |
| |
| if ( has_xc().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericLessThanConditionView<Storage>::has_xc() const { |
| return ::emboss::support::LessThan</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((x().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(x().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(5LL))); |
| } |
| |
| |
| template <class Storage> |
| inline typename GenericLessThanConditionView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView |
| GenericLessThanConditionView<Storage>::IntrinsicSizeInBytes() const { |
| return |
| typename GenericLessThanConditionView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| *this); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericLessThanConditionView<Storage>::has_IntrinsicSizeInBytes() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace LessThanCondition { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(2LL)).ValueOrDefault(); |
| } |
| } // namespace LessThanCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericLessThanConditionView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return LessThanCondition::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericLessThanConditionView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return LessThanCondition::MaxSizeInBytes(); |
| } |
| |
| namespace LessThanCondition { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL)).ValueOrDefault(); |
| } |
| } // namespace LessThanCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericLessThanConditionView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return LessThanCondition::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericLessThanConditionView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return LessThanCondition::MinSizeInBytes(); |
| } |
| namespace LessThanOrEqualCondition { |
| |
| } // namespace LessThanOrEqualCondition |
| |
| |
| 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>> |
| |
| GenericLessThanOrEqualConditionView<Storage>::x() |
| const { |
| |
| if ( has_x().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> |
| GenericLessThanOrEqualConditionView<Storage>::has_x() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericLessThanOrEqualConditionView<Storage>::xc() |
| const { |
| |
| if ( has_xc().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericLessThanOrEqualConditionView<Storage>::has_xc() const { |
| return ::emboss::support::LessThanOrEqual</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((x().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(x().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(5LL))); |
| } |
| |
| |
| template <class Storage> |
| inline typename GenericLessThanOrEqualConditionView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView |
| GenericLessThanOrEqualConditionView<Storage>::IntrinsicSizeInBytes() const { |
| return |
| typename GenericLessThanOrEqualConditionView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| *this); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericLessThanOrEqualConditionView<Storage>::has_IntrinsicSizeInBytes() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace LessThanOrEqualCondition { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(2LL)).ValueOrDefault(); |
| } |
| } // namespace LessThanOrEqualCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericLessThanOrEqualConditionView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return LessThanOrEqualCondition::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericLessThanOrEqualConditionView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return LessThanOrEqualCondition::MaxSizeInBytes(); |
| } |
| |
| namespace LessThanOrEqualCondition { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL)).ValueOrDefault(); |
| } |
| } // namespace LessThanOrEqualCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericLessThanOrEqualConditionView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return LessThanOrEqualCondition::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericLessThanOrEqualConditionView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return LessThanOrEqualCondition::MinSizeInBytes(); |
| } |
| namespace GreaterThanOrEqualCondition { |
| |
| } // namespace GreaterThanOrEqualCondition |
| |
| |
| 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>> |
| |
| GenericGreaterThanOrEqualConditionView<Storage>::x() |
| const { |
| |
| if ( has_x().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> |
| GenericGreaterThanOrEqualConditionView<Storage>::has_x() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericGreaterThanOrEqualConditionView<Storage>::xc() |
| const { |
| |
| if ( has_xc().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericGreaterThanOrEqualConditionView<Storage>::has_xc() const { |
| return ::emboss::support::GreaterThanOrEqual</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((x().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(x().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(5LL))); |
| } |
| |
| |
| template <class Storage> |
| inline typename GenericGreaterThanOrEqualConditionView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView |
| GenericGreaterThanOrEqualConditionView<Storage>::IntrinsicSizeInBytes() const { |
| return |
| typename GenericGreaterThanOrEqualConditionView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| *this); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericGreaterThanOrEqualConditionView<Storage>::has_IntrinsicSizeInBytes() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace GreaterThanOrEqualCondition { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(2LL)).ValueOrDefault(); |
| } |
| } // namespace GreaterThanOrEqualCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericGreaterThanOrEqualConditionView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return GreaterThanOrEqualCondition::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericGreaterThanOrEqualConditionView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return GreaterThanOrEqualCondition::MaxSizeInBytes(); |
| } |
| |
| namespace GreaterThanOrEqualCondition { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL)).ValueOrDefault(); |
| } |
| } // namespace GreaterThanOrEqualCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericGreaterThanOrEqualConditionView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return GreaterThanOrEqualCondition::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericGreaterThanOrEqualConditionView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return GreaterThanOrEqualCondition::MinSizeInBytes(); |
| } |
| namespace GreaterThanCondition { |
| |
| } // namespace GreaterThanCondition |
| |
| |
| 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>> |
| |
| GenericGreaterThanConditionView<Storage>::x() |
| const { |
| |
| if ( has_x().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> |
| GenericGreaterThanConditionView<Storage>::has_x() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericGreaterThanConditionView<Storage>::xc() |
| const { |
| |
| if ( has_xc().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericGreaterThanConditionView<Storage>::has_xc() const { |
| return ::emboss::support::GreaterThan</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((x().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(x().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(5LL))); |
| } |
| |
| |
| template <class Storage> |
| inline typename GenericGreaterThanConditionView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView |
| GenericGreaterThanConditionView<Storage>::IntrinsicSizeInBytes() const { |
| return |
| typename GenericGreaterThanConditionView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| *this); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericGreaterThanConditionView<Storage>::has_IntrinsicSizeInBytes() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace GreaterThanCondition { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(2LL)).ValueOrDefault(); |
| } |
| } // namespace GreaterThanCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericGreaterThanConditionView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return GreaterThanCondition::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericGreaterThanConditionView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return GreaterThanCondition::MaxSizeInBytes(); |
| } |
| |
| namespace GreaterThanCondition { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL)).ValueOrDefault(); |
| } |
| } // namespace GreaterThanCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericGreaterThanConditionView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return GreaterThanCondition::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericGreaterThanConditionView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return GreaterThanCondition::MinSizeInBytes(); |
| } |
| namespace RangeCondition { |
| |
| } // namespace RangeCondition |
| |
| |
| 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>> |
| |
| GenericRangeConditionView<Storage>::x() |
| const { |
| |
| if ( has_x().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> |
| GenericRangeConditionView<Storage>::has_x() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericRangeConditionView<Storage>::y() |
| const { |
| |
| if ( has_y().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericRangeConditionView<Storage>::has_y() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 2>>, 8>> |
| |
| GenericRangeConditionView<Storage>::xc() |
| const { |
| |
| if ( has_xc().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::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| ( |
| backing_ |
| .template GetOffsetStorage<0, |
| 2>( |
| 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, 2>>, 8>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericRangeConditionView<Storage>::has_xc() const { |
| return ::emboss::support::And</**/bool, bool, bool, bool>(::emboss::support::And</**/bool, bool, bool, bool>(::emboss::support::LessThan</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(5LL)), (x().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(x().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>())), ::emboss::support::LessThanOrEqual</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((x().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(x().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), (y().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(y().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()))), ::emboss::support::LessThan</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((y().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(y().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(10LL)))); |
| } |
| |
| |
| template <class Storage> |
| inline typename GenericRangeConditionView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView |
| GenericRangeConditionView<Storage>::IntrinsicSizeInBytes() const { |
| return |
| typename GenericRangeConditionView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| *this); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericRangeConditionView<Storage>::has_IntrinsicSizeInBytes() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace RangeCondition { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(3LL)).ValueOrDefault(); |
| } |
| } // namespace RangeCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericRangeConditionView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return RangeCondition::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericRangeConditionView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return RangeCondition::MaxSizeInBytes(); |
| } |
| |
| namespace RangeCondition { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(2LL)).ValueOrDefault(); |
| } |
| } // namespace RangeCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericRangeConditionView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return RangeCondition::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericRangeConditionView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return RangeCondition::MinSizeInBytes(); |
| } |
| namespace ReverseRangeCondition { |
| |
| } // namespace ReverseRangeCondition |
| |
| |
| 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>> |
| |
| GenericReverseRangeConditionView<Storage>::x() |
| const { |
| |
| if ( has_x().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> |
| GenericReverseRangeConditionView<Storage>::has_x() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericReverseRangeConditionView<Storage>::y() |
| const { |
| |
| if ( has_y().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericReverseRangeConditionView<Storage>::has_y() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 2>>, 8>> |
| |
| GenericReverseRangeConditionView<Storage>::xc() |
| const { |
| |
| if ( has_xc().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::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| ( |
| backing_ |
| .template GetOffsetStorage<0, |
| 2>( |
| 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, 2>>, 8>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericReverseRangeConditionView<Storage>::has_xc() const { |
| return ::emboss::support::And</**/bool, bool, bool, bool>(::emboss::support::And</**/bool, bool, bool, bool>(::emboss::support::GreaterThan</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(10LL)), (y().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(y().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>())), ::emboss::support::GreaterThanOrEqual</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((y().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(y().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), (x().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(x().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()))), ::emboss::support::GreaterThan</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((x().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(x().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(5LL)))); |
| } |
| |
| |
| template <class Storage> |
| inline typename GenericReverseRangeConditionView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView |
| GenericReverseRangeConditionView<Storage>::IntrinsicSizeInBytes() const { |
| return |
| typename GenericReverseRangeConditionView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| *this); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericReverseRangeConditionView<Storage>::has_IntrinsicSizeInBytes() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace ReverseRangeCondition { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(3LL)).ValueOrDefault(); |
| } |
| } // namespace ReverseRangeCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericReverseRangeConditionView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return ReverseRangeCondition::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericReverseRangeConditionView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return ReverseRangeCondition::MaxSizeInBytes(); |
| } |
| |
| namespace ReverseRangeCondition { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(2LL)).ValueOrDefault(); |
| } |
| } // namespace ReverseRangeCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericReverseRangeConditionView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return ReverseRangeCondition::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericReverseRangeConditionView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return ReverseRangeCondition::MinSizeInBytes(); |
| } |
| namespace AndCondition { |
| |
| } // namespace AndCondition |
| |
| |
| 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>> |
| |
| GenericAndConditionView<Storage>::x() |
| const { |
| |
| if ( has_x().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> |
| GenericAndConditionView<Storage>::has_x() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericAndConditionView<Storage>::y() |
| const { |
| |
| if ( has_y().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericAndConditionView<Storage>::has_y() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 2>>, 8>> |
| |
| GenericAndConditionView<Storage>::xc() |
| const { |
| |
| if ( has_xc().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::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| ( |
| backing_ |
| .template GetOffsetStorage<0, |
| 2>( |
| 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, 2>>, 8>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericAndConditionView<Storage>::has_xc() const { |
| return ::emboss::support::And</**/bool, bool, bool, bool>(::emboss::support::Equal</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((x().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(x().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(5LL))), ::emboss::support::Equal</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((y().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(y().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(5LL)))); |
| } |
| |
| |
| template <class Storage> |
| inline typename GenericAndConditionView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView |
| GenericAndConditionView<Storage>::IntrinsicSizeInBytes() const { |
| return |
| typename GenericAndConditionView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| *this); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericAndConditionView<Storage>::has_IntrinsicSizeInBytes() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace AndCondition { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(3LL)).ValueOrDefault(); |
| } |
| } // namespace AndCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericAndConditionView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return AndCondition::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericAndConditionView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return AndCondition::MaxSizeInBytes(); |
| } |
| |
| namespace AndCondition { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(2LL)).ValueOrDefault(); |
| } |
| } // namespace AndCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericAndConditionView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return AndCondition::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericAndConditionView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return AndCondition::MinSizeInBytes(); |
| } |
| namespace OrCondition { |
| |
| } // namespace OrCondition |
| |
| |
| 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>> |
| |
| GenericOrConditionView<Storage>::x() |
| const { |
| |
| if ( has_x().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> |
| GenericOrConditionView<Storage>::has_x() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericOrConditionView<Storage>::y() |
| const { |
| |
| if ( has_y().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericOrConditionView<Storage>::has_y() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 2>>, 8>> |
| |
| GenericOrConditionView<Storage>::xc() |
| const { |
| |
| if ( has_xc().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::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| ( |
| backing_ |
| .template GetOffsetStorage<0, |
| 2>( |
| 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, 2>>, 8>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericOrConditionView<Storage>::has_xc() const { |
| return ::emboss::support::Or</**/bool, bool, bool, bool>(::emboss::support::Equal</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((x().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(x().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(5LL))), ::emboss::support::Equal</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((y().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(y().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(5LL)))); |
| } |
| |
| |
| template <class Storage> |
| inline typename GenericOrConditionView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView |
| GenericOrConditionView<Storage>::IntrinsicSizeInBytes() const { |
| return |
| typename GenericOrConditionView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| *this); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericOrConditionView<Storage>::has_IntrinsicSizeInBytes() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace OrCondition { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(3LL)).ValueOrDefault(); |
| } |
| } // namespace OrCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericOrConditionView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return OrCondition::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericOrConditionView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return OrCondition::MaxSizeInBytes(); |
| } |
| |
| namespace OrCondition { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(2LL)).ValueOrDefault(); |
| } |
| } // namespace OrCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericOrConditionView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return OrCondition::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericOrConditionView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return OrCondition::MinSizeInBytes(); |
| } |
| namespace ChoiceCondition { |
| |
| } // namespace ChoiceCondition |
| |
| |
| template <class Storage> |
| inline typename ::emboss::support::EnumView< |
| /**/ ::emboss::test::ChoiceCondition::Field, |
| ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 0>>, 8>> |
| |
| GenericChoiceConditionView<Storage>::field() |
| const { |
| |
| if ( has_field().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::support::EnumView< |
| /**/ ::emboss::test::ChoiceCondition::Field, |
| ::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::support::EnumView< |
| /**/ ::emboss::test::ChoiceCondition::Field, |
| ::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> |
| GenericChoiceConditionView<Storage>::has_field() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericChoiceConditionView<Storage>::x() |
| const { |
| |
| if ( has_x().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericChoiceConditionView<Storage>::has_x() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 2>>, 8>> |
| |
| GenericChoiceConditionView<Storage>::y() |
| const { |
| |
| if ( has_y().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::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| ( |
| backing_ |
| .template GetOffsetStorage<0, |
| 2>( |
| 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, 2>>, 8>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericChoiceConditionView<Storage>::has_y() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 3>>, 8>> |
| |
| GenericChoiceConditionView<Storage>::xyc() |
| const { |
| |
| if ( has_xyc().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericChoiceConditionView<Storage>::has_xyc() const { |
| return ::emboss::support::Equal</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(::emboss::support::Choice</**/::std::int32_t, ::std::int32_t, bool, ::std::int32_t, ::std::int32_t>(::emboss::support::Equal</**/::emboss::test::ChoiceCondition::Field, bool, ::emboss::test::ChoiceCondition::Field, ::emboss::test::ChoiceCondition::Field>((field().Ok() ? ::emboss::support::Maybe</**/::emboss::test::ChoiceCondition::Field>(static_cast</**/::emboss::test::ChoiceCondition::Field>(field().UncheckedRead())) : ::emboss::support::Maybe</**/::emboss::test::ChoiceCondition::Field>()), ::emboss::support::Maybe</**/::emboss::test::ChoiceCondition::Field>(static_cast</**/::emboss::test::ChoiceCondition::Field>(1))), (x().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(x().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), (y().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(y().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>())), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(5LL))); |
| } |
| |
| |
| template <class Storage> |
| inline typename GenericChoiceConditionView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView |
| GenericChoiceConditionView<Storage>::IntrinsicSizeInBytes() const { |
| return |
| typename GenericChoiceConditionView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| *this); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericChoiceConditionView<Storage>::has_IntrinsicSizeInBytes() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace ChoiceCondition { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(4LL)).ValueOrDefault(); |
| } |
| } // namespace ChoiceCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericChoiceConditionView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return ChoiceCondition::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericChoiceConditionView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return ChoiceCondition::MaxSizeInBytes(); |
| } |
| |
| namespace ChoiceCondition { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(3LL)).ValueOrDefault(); |
| } |
| } // namespace ChoiceCondition |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericChoiceConditionView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return ChoiceCondition::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericChoiceConditionView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return ChoiceCondition::MinSizeInBytes(); |
| } |
| namespace ContainsBits { |
| namespace EmbossReservedAnonymousField3 { |
| |
| } // namespace EmbossReservedAnonymousField3 |
| |
| |
| template <class Storage> |
| inline typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<1, ::emboss::support::AllValuesAreOk>, |
| typename Storage::template OffsetStorageType</**/0, 7>> |
| |
| GenericEmbossReservedAnonymousField3View<Storage>::has_top() |
| const { |
| |
| if ( has_has_top().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<1, ::emboss::support::AllValuesAreOk>, |
| typename Storage::template OffsetStorageType</**/0, 7>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericEmbossReservedAnonymousField3View<Storage>::has_has_top() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| template <class Storage> |
| inline typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<1, ::emboss::support::AllValuesAreOk>, |
| typename Storage::template OffsetStorageType</**/0, 0>> |
| |
| GenericEmbossReservedAnonymousField3View<Storage>::has_bottom() |
| const { |
| |
| if ( has_has_bottom().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<1, ::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<1, ::emboss::support::AllValuesAreOk>, |
| typename Storage::template OffsetStorageType</**/0, 0>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericEmbossReservedAnonymousField3View<Storage>::has_has_bottom() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace EmbossReservedAnonymousField3 { |
| inline constexpr ::std::int32_t IntrinsicSizeInBits() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(8LL)).ValueOrDefault(); |
| } |
| } // namespace EmbossReservedAnonymousField3 |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericEmbossReservedAnonymousField3View<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBitsView::Read() { |
| return EmbossReservedAnonymousField3::IntrinsicSizeInBits(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericEmbossReservedAnonymousField3View< |
| Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBitsView::UncheckedRead() { |
| return EmbossReservedAnonymousField3::IntrinsicSizeInBits(); |
| } |
| |
| namespace EmbossReservedAnonymousField3 { |
| inline constexpr ::std::int32_t MaxSizeInBits() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(8LL)).ValueOrDefault(); |
| } |
| } // namespace EmbossReservedAnonymousField3 |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericEmbossReservedAnonymousField3View<Storage>::EmbossReservedDollarVirtualMaxSizeInBitsView::Read() { |
| return EmbossReservedAnonymousField3::MaxSizeInBits(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericEmbossReservedAnonymousField3View< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBitsView::UncheckedRead() { |
| return EmbossReservedAnonymousField3::MaxSizeInBits(); |
| } |
| |
| namespace EmbossReservedAnonymousField3 { |
| inline constexpr ::std::int32_t MinSizeInBits() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(8LL)).ValueOrDefault(); |
| } |
| } // namespace EmbossReservedAnonymousField3 |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericEmbossReservedAnonymousField3View<Storage>::EmbossReservedDollarVirtualMinSizeInBitsView::Read() { |
| return EmbossReservedAnonymousField3::MinSizeInBits(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericEmbossReservedAnonymousField3View< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBitsView::UncheckedRead() { |
| return EmbossReservedAnonymousField3::MinSizeInBits(); |
| } |
| |
| } // namespace ContainsBits |
| |
| |
| template <class Storage> |
| inline typename ::emboss::test::ContainsBits::GenericEmbossReservedAnonymousField3View<typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 0>>, 8>> |
| |
| GenericContainsBitsView<Storage>::emboss_reserved_anonymous_field_3() |
| const { |
| |
| if ( has_emboss_reserved_anonymous_field_3().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::ContainsBits::GenericEmbossReservedAnonymousField3View<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::ContainsBits::GenericEmbossReservedAnonymousField3View<typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 0>>, 8>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericContainsBitsView<Storage>::has_emboss_reserved_anonymous_field_3() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericContainsBitsView<Storage>::has_has_top() 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> |
| GenericContainsBitsView<Storage>::has_has_bottom() const { |
| return ::emboss::support::And</**/bool, bool, bool, bool>(::emboss::support::Maybe</**/bool>(true), ::emboss::support::Maybe</**/bool>(true)); |
| } |
| |
| |
| namespace ContainsBits { |
| inline constexpr ::std::int32_t IntrinsicSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL)).ValueOrDefault(); |
| } |
| } // namespace ContainsBits |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericContainsBitsView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Read() { |
| return ContainsBits::IntrinsicSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericContainsBitsView< |
| Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead() { |
| return ContainsBits::IntrinsicSizeInBytes(); |
| } |
| |
| namespace ContainsBits { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL)).ValueOrDefault(); |
| } |
| } // namespace ContainsBits |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericContainsBitsView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return ContainsBits::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericContainsBitsView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return ContainsBits::MaxSizeInBytes(); |
| } |
| |
| namespace ContainsBits { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL)).ValueOrDefault(); |
| } |
| } // namespace ContainsBits |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericContainsBitsView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return ContainsBits::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericContainsBitsView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return ContainsBits::MinSizeInBytes(); |
| } |
| namespace ContainsContainsBits { |
| |
| } // namespace ContainsContainsBits |
| |
| |
| template <class Storage> |
| inline typename ::emboss::test::GenericContainsBitsView<typename Storage::template OffsetStorageType</**/0, 0>> |
| |
| GenericContainsContainsBitsView<Storage>::condition() |
| const { |
| |
| if ( has_condition().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::GenericContainsBitsView<typename Storage::template OffsetStorageType</**/0, 0>> |
| |
| ( |
| backing_ |
| .template GetOffsetStorage<0, |
| 0>( |
| emboss_reserved_local_offset.ValueOrDefault(), |
| emboss_reserved_local_size.ValueOrDefault())); |
| } |
| } |
| return ::emboss::test::GenericContainsBitsView<typename Storage::template OffsetStorageType</**/0, 0>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericContainsContainsBitsView<Storage>::has_condition() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericContainsContainsBitsView<Storage>::top() |
| const { |
| |
| if ( has_top().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericContainsContainsBitsView<Storage>::has_top() const { |
| return ::emboss::support::Equal</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((condition().has_top().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(condition().has_top().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL))); |
| } |
| |
| |
| template <class Storage> |
| inline typename GenericContainsContainsBitsView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView |
| GenericContainsContainsBitsView<Storage>::IntrinsicSizeInBytes() const { |
| return |
| typename GenericContainsContainsBitsView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| *this); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericContainsContainsBitsView<Storage>::has_IntrinsicSizeInBytes() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace ContainsContainsBits { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(2LL)).ValueOrDefault(); |
| } |
| } // namespace ContainsContainsBits |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericContainsContainsBitsView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return ContainsContainsBits::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericContainsContainsBitsView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return ContainsContainsBits::MaxSizeInBytes(); |
| } |
| |
| namespace ContainsContainsBits { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL)).ValueOrDefault(); |
| } |
| } // namespace ContainsContainsBits |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericContainsContainsBitsView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return ContainsContainsBits::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericContainsContainsBitsView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return ContainsContainsBits::MinSizeInBytes(); |
| } |
| namespace ConditionalInline { |
| namespace Type0 { |
| |
| } // namespace Type0 |
| |
| |
| 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>> |
| |
| GenericType0View<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::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> |
| GenericType0View<Storage>::has_a() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericType0View<Storage>::b() |
| const { |
| |
| if ( has_b().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericType0View<Storage>::has_b() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 2>>, 8>> |
| |
| GenericType0View<Storage>::c() |
| const { |
| |
| if ( has_c().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::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| ( |
| backing_ |
| .template GetOffsetStorage<0, |
| 2>( |
| 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, 2>>, 8>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericType0View<Storage>::has_c() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace Type0 { |
| inline constexpr ::std::int32_t IntrinsicSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(3LL)).ValueOrDefault(); |
| } |
| } // namespace Type0 |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericType0View<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Read() { |
| return Type0::IntrinsicSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericType0View< |
| Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead() { |
| return Type0::IntrinsicSizeInBytes(); |
| } |
| |
| namespace Type0 { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(3LL)).ValueOrDefault(); |
| } |
| } // namespace Type0 |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericType0View<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return Type0::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericType0View< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return Type0::MaxSizeInBytes(); |
| } |
| |
| namespace Type0 { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(3LL)).ValueOrDefault(); |
| } |
| } // namespace Type0 |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericType0View<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return Type0::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericType0View< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return Type0::MinSizeInBytes(); |
| } |
| |
| namespace Type1 { |
| |
| } // namespace Type1 |
| |
| |
| 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>> |
| |
| GenericType1View<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::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> |
| GenericType1View<Storage>::has_a() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 1>>, 8>> |
| |
| GenericType1View<Storage>::b() |
| const { |
| |
| if ( has_b().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericType1View<Storage>::has_b() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| 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, 2>>, 8>> |
| |
| GenericType1View<Storage>::c() |
| const { |
| |
| if ( has_c().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::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 2>>, 8>> |
| |
| ( |
| backing_ |
| .template GetOffsetStorage<0, |
| 2>( |
| 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, 2>>, 8>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericType1View<Storage>::has_c() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace Type1 { |
| inline constexpr ::std::int32_t IntrinsicSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(3LL)).ValueOrDefault(); |
| } |
| } // namespace Type1 |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericType1View<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Read() { |
| return Type1::IntrinsicSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericType1View< |
| Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead() { |
| return Type1::IntrinsicSizeInBytes(); |
| } |
| |
| namespace Type1 { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(3LL)).ValueOrDefault(); |
| } |
| } // namespace Type1 |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericType1View<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return Type1::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericType1View< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return Type1::MaxSizeInBytes(); |
| } |
| |
| namespace Type1 { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(3LL)).ValueOrDefault(); |
| } |
| } // namespace Type1 |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericType1View<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return Type1::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericType1View< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return Type1::MinSizeInBytes(); |
| } |
| |
| } // namespace ConditionalInline |
| |
| |
| 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>> |
| |
| GenericConditionalInlineView<Storage>::payload_id() |
| const { |
| |
| if ( has_payload_id().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> |
| GenericConditionalInlineView<Storage>::has_payload_id() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| template <class Storage> |
| inline typename ::emboss::test::ConditionalInline::GenericType0View<typename Storage::template OffsetStorageType</**/0, 1>> |
| |
| GenericConditionalInlineView<Storage>::type_0() |
| const { |
| |
| if ( has_type_0().ValueOr(false)) { |
| |
| auto emboss_reserved_local_size = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(3LL)); |
| 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::ConditionalInline::GenericType0View<typename Storage::template OffsetStorageType</**/0, 1>> |
| |
| ( |
| backing_ |
| .template GetOffsetStorage<0, |
| 1>( |
| emboss_reserved_local_offset.ValueOrDefault(), |
| emboss_reserved_local_size.ValueOrDefault())); |
| } |
| } |
| return ::emboss::test::ConditionalInline::GenericType0View<typename Storage::template OffsetStorageType</**/0, 1>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericConditionalInlineView<Storage>::has_type_0() const { |
| return ::emboss::support::Equal</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((payload_id().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(payload_id().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::test::ConditionalInline::GenericType1View<typename Storage::template OffsetStorageType</**/0, 1>> |
| |
| GenericConditionalInlineView<Storage>::type_1() |
| const { |
| |
| if ( has_type_1().ValueOr(false)) { |
| |
| auto emboss_reserved_local_size = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(3LL)); |
| 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::ConditionalInline::GenericType1View<typename Storage::template OffsetStorageType</**/0, 1>> |
| |
| ( |
| backing_ |
| .template GetOffsetStorage<0, |
| 1>( |
| emboss_reserved_local_offset.ValueOrDefault(), |
| emboss_reserved_local_size.ValueOrDefault())); |
| } |
| } |
| return ::emboss::test::ConditionalInline::GenericType1View<typename Storage::template OffsetStorageType</**/0, 1>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericConditionalInlineView<Storage>::has_type_1() const { |
| return ::emboss::support::Equal</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((payload_id().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(payload_id().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL))); |
| } |
| |
| |
| template <class Storage> |
| inline typename GenericConditionalInlineView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView |
| GenericConditionalInlineView<Storage>::IntrinsicSizeInBytes() const { |
| return |
| typename GenericConditionalInlineView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| *this); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericConditionalInlineView<Storage>::has_IntrinsicSizeInBytes() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace ConditionalInline { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(4LL)).ValueOrDefault(); |
| } |
| } // namespace ConditionalInline |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalInlineView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return ConditionalInline::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalInlineView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return ConditionalInline::MaxSizeInBytes(); |
| } |
| |
| namespace ConditionalInline { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL)).ValueOrDefault(); |
| } |
| } // namespace ConditionalInline |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalInlineView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return ConditionalInline::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalInlineView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return ConditionalInline::MinSizeInBytes(); |
| } |
| namespace ConditionalAnonymous { |
| namespace EmbossReservedAnonymousField2 { |
| |
| } // namespace EmbossReservedAnonymousField2 |
| |
| |
| template <class Storage> |
| inline typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<1, ::emboss::support::AllValuesAreOk>, |
| typename Storage::template OffsetStorageType</**/0, 0>> |
| |
| GenericEmbossReservedAnonymousField2View<Storage>::low() |
| const { |
| |
| if ( has_low().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<1, ::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<1, ::emboss::support::AllValuesAreOk>, |
| typename Storage::template OffsetStorageType</**/0, 0>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericEmbossReservedAnonymousField2View<Storage>::has_low() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| template <class Storage> |
| inline typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<2, ::emboss::support::AllValuesAreOk>, |
| typename Storage::template OffsetStorageType</**/0, 3>> |
| |
| GenericEmbossReservedAnonymousField2View<Storage>::mid() |
| const { |
| |
| if ( has_mid().ValueOr(false)) { |
| |
| auto emboss_reserved_local_size = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(2LL)); |
| 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::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<2, ::emboss::support::AllValuesAreOk>, |
| typename Storage::template OffsetStorageType</**/0, 3>> |
| |
| ( |
| backing_ |
| .template GetOffsetStorage<0, |
| 3>( |
| emboss_reserved_local_offset.ValueOrDefault(), |
| emboss_reserved_local_size.ValueOrDefault())); |
| } |
| } |
| return ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<2, ::emboss::support::AllValuesAreOk>, |
| typename Storage::template OffsetStorageType</**/0, 3>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericEmbossReservedAnonymousField2View<Storage>::has_mid() const { |
| return ::emboss::support::Equal</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((low().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(low().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL))); |
| } |
| |
| |
| template <class Storage> |
| inline typename ::emboss::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<1, ::emboss::support::AllValuesAreOk>, |
| typename Storage::template OffsetStorageType</**/0, 7>> |
| |
| GenericEmbossReservedAnonymousField2View<Storage>::high() |
| const { |
| |
| if ( has_high().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<1, ::emboss::support::AllValuesAreOk>, |
| typename Storage::template OffsetStorageType</**/0, 7>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericEmbossReservedAnonymousField2View<Storage>::has_high() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace EmbossReservedAnonymousField2 { |
| inline constexpr ::std::int32_t IntrinsicSizeInBits() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(8LL)).ValueOrDefault(); |
| } |
| } // namespace EmbossReservedAnonymousField2 |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericEmbossReservedAnonymousField2View<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBitsView::Read() { |
| return EmbossReservedAnonymousField2::IntrinsicSizeInBits(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericEmbossReservedAnonymousField2View< |
| Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBitsView::UncheckedRead() { |
| return EmbossReservedAnonymousField2::IntrinsicSizeInBits(); |
| } |
| |
| namespace EmbossReservedAnonymousField2 { |
| inline constexpr ::std::int32_t MaxSizeInBits() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(8LL)).ValueOrDefault(); |
| } |
| } // namespace EmbossReservedAnonymousField2 |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericEmbossReservedAnonymousField2View<Storage>::EmbossReservedDollarVirtualMaxSizeInBitsView::Read() { |
| return EmbossReservedAnonymousField2::MaxSizeInBits(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericEmbossReservedAnonymousField2View< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBitsView::UncheckedRead() { |
| return EmbossReservedAnonymousField2::MaxSizeInBits(); |
| } |
| |
| namespace EmbossReservedAnonymousField2 { |
| inline constexpr ::std::int32_t MinSizeInBits() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(8LL)).ValueOrDefault(); |
| } |
| } // namespace EmbossReservedAnonymousField2 |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericEmbossReservedAnonymousField2View<Storage>::EmbossReservedDollarVirtualMinSizeInBitsView::Read() { |
| return EmbossReservedAnonymousField2::MinSizeInBits(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericEmbossReservedAnonymousField2View< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBitsView::UncheckedRead() { |
| return EmbossReservedAnonymousField2::MinSizeInBits(); |
| } |
| |
| } // namespace ConditionalAnonymous |
| |
| |
| 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>> |
| |
| GenericConditionalAnonymousView<Storage>::x() |
| const { |
| |
| if ( has_x().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> |
| GenericConditionalAnonymousView<Storage>::has_x() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| template <class Storage> |
| inline typename ::emboss::test::ConditionalAnonymous::GenericEmbossReservedAnonymousField2View<typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| GenericConditionalAnonymousView<Storage>::emboss_reserved_anonymous_field_2() |
| const { |
| |
| if ( has_emboss_reserved_anonymous_field_2().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::ConditionalAnonymous::GenericEmbossReservedAnonymousField2View<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::ConditionalAnonymous::GenericEmbossReservedAnonymousField2View<typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericConditionalAnonymousView<Storage>::has_emboss_reserved_anonymous_field_2() const { |
| return ::emboss::support::GreaterThan</**/::std::int32_t, bool, ::std::int32_t, ::std::int32_t>((x().Ok() ? ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(x().UncheckedRead())) : ::emboss::support::Maybe</**/::std::int32_t>()), ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(10LL))); |
| } |
| |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericConditionalAnonymousView<Storage>::has_low() const { |
| return ::emboss::support::And</**/bool, bool, bool, bool>(has_emboss_reserved_anonymous_field_2(), ::emboss::support::Maybe</**/bool>(true)); |
| } |
| |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericConditionalAnonymousView<Storage>::has_mid() const { |
| return ::emboss::support::And</**/bool, bool, bool, bool>(has_emboss_reserved_anonymous_field_2(), emboss_reserved_anonymous_field_2().has_mid()); |
| } |
| |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericConditionalAnonymousView<Storage>::has_high() const { |
| return ::emboss::support::And</**/bool, bool, bool, bool>(has_emboss_reserved_anonymous_field_2(), ::emboss::support::Maybe</**/bool>(true)); |
| } |
| |
| |
| template <class Storage> |
| inline typename GenericConditionalAnonymousView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView |
| GenericConditionalAnonymousView<Storage>::IntrinsicSizeInBytes() const { |
| return |
| typename GenericConditionalAnonymousView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| *this); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericConditionalAnonymousView<Storage>::has_IntrinsicSizeInBytes() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace ConditionalAnonymous { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(2LL)).ValueOrDefault(); |
| } |
| } // namespace ConditionalAnonymous |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalAnonymousView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return ConditionalAnonymous::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalAnonymousView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return ConditionalAnonymous::MaxSizeInBytes(); |
| } |
| |
| namespace ConditionalAnonymous { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL)).ValueOrDefault(); |
| } |
| } // namespace ConditionalAnonymous |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalAnonymousView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return ConditionalAnonymous::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalAnonymousView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return ConditionalAnonymous::MinSizeInBytes(); |
| } |
| namespace ConditionalOnFlag { |
| namespace EmbossReservedAnonymousField1 { |
| |
| } // namespace EmbossReservedAnonymousField1 |
| |
| |
| template <class Storage> |
| inline typename ::emboss::prelude::FlagView< |
| /**/ ::emboss::support::FixedSizeViewParameters<1, ::emboss::support::AllValuesAreOk>, |
| typename Storage::template OffsetStorageType</**/0, 0>> |
| |
| GenericEmbossReservedAnonymousField1View<Storage>::enabled() |
| const { |
| |
| if ( has_enabled().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::FlagView< |
| /**/ ::emboss::support::FixedSizeViewParameters<1, ::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::FlagView< |
| /**/ ::emboss::support::FixedSizeViewParameters<1, ::emboss::support::AllValuesAreOk>, |
| typename Storage::template OffsetStorageType</**/0, 0>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericEmbossReservedAnonymousField1View<Storage>::has_enabled() 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>(1LL)).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>(1LL)).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>(1LL)).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 ConditionalOnFlag |
| |
| |
| template <class Storage> |
| inline typename ::emboss::test::ConditionalOnFlag::GenericEmbossReservedAnonymousField1View<typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 0>>, 8>> |
| |
| GenericConditionalOnFlagView<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>(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::ConditionalOnFlag::GenericEmbossReservedAnonymousField1View<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::ConditionalOnFlag::GenericEmbossReservedAnonymousField1View<typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 0>>, 8>> |
| |
| (); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericConditionalOnFlagView<Storage>::has_emboss_reserved_anonymous_field_1() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericConditionalOnFlagView<Storage>::has_enabled() 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::prelude::UIntView< |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 8>> |
| |
| GenericConditionalOnFlagView<Storage>::value() |
| const { |
| |
| if ( has_value().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::UIntView< |
| /**/ ::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::UIntView< |
| /**/ ::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> |
| GenericConditionalOnFlagView<Storage>::has_value() const { |
| return (enabled().Ok() ? ::emboss::support::Maybe</**/bool>(static_cast</**/bool>(enabled().UncheckedRead())) : ::emboss::support::Maybe</**/bool>()); |
| } |
| |
| |
| template <class Storage> |
| inline typename GenericConditionalOnFlagView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView |
| GenericConditionalOnFlagView<Storage>::IntrinsicSizeInBytes() const { |
| return |
| typename GenericConditionalOnFlagView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView( |
| *this); |
| } |
| |
| template <class Storage> |
| inline ::emboss::support::Maybe<bool> |
| GenericConditionalOnFlagView<Storage>::has_IntrinsicSizeInBytes() const { |
| return ::emboss::support::Maybe</**/bool>(true); |
| } |
| |
| |
| namespace ConditionalOnFlag { |
| inline constexpr ::std::int32_t MaxSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(2LL)).ValueOrDefault(); |
| } |
| } // namespace ConditionalOnFlag |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalOnFlagView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { |
| return ConditionalOnFlag::MaxSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalOnFlagView< |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { |
| return ConditionalOnFlag::MaxSizeInBytes(); |
| } |
| |
| namespace ConditionalOnFlag { |
| inline constexpr ::std::int32_t MinSizeInBytes() { |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(1LL)).ValueOrDefault(); |
| } |
| } // namespace ConditionalOnFlag |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalOnFlagView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { |
| return ConditionalOnFlag::MinSizeInBytes(); |
| } |
| |
| template <class Storage> |
| inline constexpr ::std::int32_t |
| GenericConditionalOnFlagView< |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { |
| return ConditionalOnFlag::MinSizeInBytes(); |
| } |
| |
| |
| |
| } // namespace test |
| |
| |
| |
| } // namespace emboss |
| |
| |
| |
| /* NOLINTEND */ |
| |
| #endif // TESTDATA_CONDITION_EMB_H_ |
| |