| /** | |
| * Generated by the Emboss compiler. DO NOT EDIT! | |
| */ | |
| #ifndef TESTDATA_BCD_EMB_H_ | |
| #define TESTDATA_BCD_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 BcdSizes { | |
| namespace EmbossReservedAnonymousField1 { | |
| } // namespace EmbossReservedAnonymousField1 | |
| template <class Storage> | |
| class GenericEmbossReservedAnonymousField1View; | |
| } // namespace BcdSizes | |
| template <class Storage> | |
| class GenericBcdSizesView; | |
| namespace BcdBigEndian { | |
| } // namespace BcdBigEndian | |
| template <class Storage> | |
| class GenericBcdBigEndianView; | |
| namespace BcdSizes { | |
| 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_four_bit().Known()) return false; | |
| if (has_four_bit().ValueOrDefault() && !four_bit().Ok()) return false; | |
| if (!has_six_bit().Known()) return false; | |
| if (has_six_bit().ValueOrDefault() && !six_bit().Ok()) return false; | |
| if (!has_ten_bit().Known()) return false; | |
| if (has_ten_bit().ValueOrDefault() && !ten_bit().Ok()) return false; | |
| if (!has_twelve_bit().Known()) return false; | |
| if (has_twelve_bit().ValueOrDefault() && !twelve_bit().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_four_bit().Known()) return false; | |
| if (!emboss_reserved_local_other.has_four_bit().Known()) return false; | |
| if (emboss_reserved_local_other.has_four_bit().ValueOrDefault() && | |
| !has_four_bit().ValueOrDefault()) | |
| return false; | |
| if (has_four_bit().ValueOrDefault() && | |
| !emboss_reserved_local_other.has_four_bit().ValueOrDefault()) | |
| return false; | |
| if (emboss_reserved_local_other.has_four_bit().ValueOrDefault() && | |
| has_four_bit().ValueOrDefault() && | |
| !four_bit().Equals(emboss_reserved_local_other.four_bit())) | |
| return false; | |
| if (!has_six_bit().Known()) return false; | |
| if (!emboss_reserved_local_other.has_six_bit().Known()) return false; | |
| if (emboss_reserved_local_other.has_six_bit().ValueOrDefault() && | |
| !has_six_bit().ValueOrDefault()) | |
| return false; | |
| if (has_six_bit().ValueOrDefault() && | |
| !emboss_reserved_local_other.has_six_bit().ValueOrDefault()) | |
| return false; | |
| if (emboss_reserved_local_other.has_six_bit().ValueOrDefault() && | |
| has_six_bit().ValueOrDefault() && | |
| !six_bit().Equals(emboss_reserved_local_other.six_bit())) | |
| return false; | |
| if (!has_ten_bit().Known()) return false; | |
| if (!emboss_reserved_local_other.has_ten_bit().Known()) return false; | |
| if (emboss_reserved_local_other.has_ten_bit().ValueOrDefault() && | |
| !has_ten_bit().ValueOrDefault()) | |
| return false; | |
| if (has_ten_bit().ValueOrDefault() && | |
| !emboss_reserved_local_other.has_ten_bit().ValueOrDefault()) | |
| return false; | |
| if (emboss_reserved_local_other.has_ten_bit().ValueOrDefault() && | |
| has_ten_bit().ValueOrDefault() && | |
| !ten_bit().Equals(emboss_reserved_local_other.ten_bit())) | |
| return false; | |
| if (!has_twelve_bit().Known()) return false; | |
| if (!emboss_reserved_local_other.has_twelve_bit().Known()) return false; | |
| if (emboss_reserved_local_other.has_twelve_bit().ValueOrDefault() && | |
| !has_twelve_bit().ValueOrDefault()) | |
| return false; | |
| if (has_twelve_bit().ValueOrDefault() && | |
| !emboss_reserved_local_other.has_twelve_bit().ValueOrDefault()) | |
| return false; | |
| if (emboss_reserved_local_other.has_twelve_bit().ValueOrDefault() && | |
| has_twelve_bit().ValueOrDefault() && | |
| !twelve_bit().Equals(emboss_reserved_local_other.twelve_bit())) | |
| return false; | |
| return true; | |
| } | |
| template <typename OtherStorage> | |
| bool UncheckedEquals( | |
| GenericEmbossReservedAnonymousField1View<OtherStorage> emboss_reserved_local_other) const { | |
| if (emboss_reserved_local_other.has_four_bit().ValueOr(false) && | |
| !has_four_bit().ValueOr(false)) | |
| return false; | |
| if (has_four_bit().ValueOr(false) && | |
| !emboss_reserved_local_other.has_four_bit().ValueOr(false)) | |
| return false; | |
| if (emboss_reserved_local_other.has_four_bit().ValueOr(false) && | |
| has_four_bit().ValueOr(false) && | |
| !four_bit().UncheckedEquals(emboss_reserved_local_other.four_bit())) | |
| return false; | |
| if (emboss_reserved_local_other.has_six_bit().ValueOr(false) && | |
| !has_six_bit().ValueOr(false)) | |
| return false; | |
| if (has_six_bit().ValueOr(false) && | |
| !emboss_reserved_local_other.has_six_bit().ValueOr(false)) | |
| return false; | |
| if (emboss_reserved_local_other.has_six_bit().ValueOr(false) && | |
| has_six_bit().ValueOr(false) && | |
| !six_bit().UncheckedEquals(emboss_reserved_local_other.six_bit())) | |
| return false; | |
| if (emboss_reserved_local_other.has_ten_bit().ValueOr(false) && | |
| !has_ten_bit().ValueOr(false)) | |
| return false; | |
| if (has_ten_bit().ValueOr(false) && | |
| !emboss_reserved_local_other.has_ten_bit().ValueOr(false)) | |
| return false; | |
| if (emboss_reserved_local_other.has_ten_bit().ValueOr(false) && | |
| has_ten_bit().ValueOr(false) && | |
| !ten_bit().UncheckedEquals(emboss_reserved_local_other.ten_bit())) | |
| return false; | |
| if (emboss_reserved_local_other.has_twelve_bit().ValueOr(false) && | |
| !has_twelve_bit().ValueOr(false)) | |
| return false; | |
| if (has_twelve_bit().ValueOr(false) && | |
| !emboss_reserved_local_other.has_twelve_bit().ValueOr(false)) | |
| return false; | |
| if (emboss_reserved_local_other.has_twelve_bit().ValueOr(false) && | |
| has_twelve_bit().ValueOr(false) && | |
| !twelve_bit().UncheckedEquals(emboss_reserved_local_other.twelve_bit())) | |
| 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 == "four_bit") { | |
| if (!four_bit().UpdateFromTextStream( | |
| emboss_reserved_local_stream)) { | |
| return false; | |
| } | |
| continue; | |
| } | |
| if (emboss_reserved_local_name == "six_bit") { | |
| if (!six_bit().UpdateFromTextStream( | |
| emboss_reserved_local_stream)) { | |
| return false; | |
| } | |
| continue; | |
| } | |
| if (emboss_reserved_local_name == "ten_bit") { | |
| if (!ten_bit().UpdateFromTextStream( | |
| emboss_reserved_local_stream)) { | |
| return false; | |
| } | |
| continue; | |
| } | |
| if (emboss_reserved_local_name == "twelve_bit") { | |
| if (!twelve_bit().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_four_bit().ValueOr(false)) { | |
| if (!emboss_reserved_local_field_options.allow_partial_output() || | |
| four_bit().IsAggregate() || four_bit().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("four_bit: "); | |
| four_bit().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() && | |
| !four_bit().IsAggregate() && !four_bit().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("# four_bit: UNREADABLE\n"); | |
| } | |
| } | |
| if (has_six_bit().ValueOr(false)) { | |
| if (!emboss_reserved_local_field_options.allow_partial_output() || | |
| six_bit().IsAggregate() || six_bit().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("six_bit: "); | |
| six_bit().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() && | |
| !six_bit().IsAggregate() && !six_bit().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("# six_bit: UNREADABLE\n"); | |
| } | |
| } | |
| if (has_ten_bit().ValueOr(false)) { | |
| if (!emboss_reserved_local_field_options.allow_partial_output() || | |
| ten_bit().IsAggregate() || ten_bit().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("ten_bit: "); | |
| ten_bit().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() && | |
| !ten_bit().IsAggregate() && !ten_bit().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("# ten_bit: UNREADABLE\n"); | |
| } | |
| } | |
| if (has_twelve_bit().ValueOr(false)) { | |
| if (!emboss_reserved_local_field_options.allow_partial_output() || | |
| twelve_bit().IsAggregate() || twelve_bit().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("twelve_bit: "); | |
| twelve_bit().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() && | |
| !twelve_bit().IsAggregate() && !twelve_bit().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("# twelve_bit: 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::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<4, ::emboss::support::AllValuesAreOk>, | |
| typename Storage::template OffsetStorageType</**/0, 0>> | |
| four_bit() const; | |
| ::emboss::support::Maybe<bool> has_four_bit() const; | |
| public: | |
| typename ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<6, ::emboss::support::AllValuesAreOk>, | |
| typename Storage::template OffsetStorageType</**/0, 4>> | |
| six_bit() const; | |
| ::emboss::support::Maybe<bool> has_six_bit() const; | |
| public: | |
| typename ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<10, ::emboss::support::AllValuesAreOk>, | |
| typename Storage::template OffsetStorageType</**/0, 10>> | |
| ten_bit() const; | |
| ::emboss::support::Maybe<bool> has_ten_bit() const; | |
| public: | |
| typename ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<12, ::emboss::support::AllValuesAreOk>, | |
| typename Storage::template OffsetStorageType</**/0, 20>> | |
| twelve_bit() const; | |
| ::emboss::support::Maybe<bool> has_twelve_bit() 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 BcdSizes | |
| template <class View> | |
| struct EmbossReservedInternalIsGenericBcdSizesView; | |
| template <class Storage> | |
| class GenericBcdSizesView final { | |
| public: | |
| GenericBcdSizesView() : backing_() {} | |
| explicit GenericBcdSizesView( | |
| Storage emboss_reserved_local_bytes) | |
| : backing_(emboss_reserved_local_bytes) | |
| {} | |
| template <typename OtherStorage> | |
| GenericBcdSizesView( | |
| const GenericBcdSizesView<OtherStorage> &emboss_reserved_local_other) | |
| : backing_{emboss_reserved_local_other.BackingStorage()} | |
| {} | |
| template <typename Arg, | |
| typename = typename ::std::enable_if< | |
| !EmbossReservedInternalIsGenericBcdSizesView< | |
| typename ::std::remove_cv<typename ::std::remove_reference< | |
| Arg>::type>::type>::value>::type> | |
| explicit GenericBcdSizesView( | |
| Arg &&emboss_reserved_local_arg) | |
| : backing_(::std::forward<Arg>( | |
| emboss_reserved_local_arg)) | |
| {} | |
| template <typename Arg0, typename Arg1, typename... Args> | |
| explicit GenericBcdSizesView( | |
| 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> | |
| GenericBcdSizesView<Storage> &operator=( | |
| const GenericBcdSizesView<OtherStorage> &emboss_reserved_local_other) { | |
| backing_ = emboss_reserved_local_other.BackingStorage(); | |
| return *this; | |
| } | |
| bool Ok() const { | |
| if (!IsComplete()) return false; | |
| if (!has_one_byte().Known()) return false; | |
| if (has_one_byte().ValueOrDefault() && !one_byte().Ok()) return false; | |
| if (!has_two_byte().Known()) return false; | |
| if (has_two_byte().ValueOrDefault() && !two_byte().Ok()) return false; | |
| if (!has_three_byte().Known()) return false; | |
| if (has_three_byte().ValueOrDefault() && !three_byte().Ok()) return false; | |
| if (!has_four_byte().Known()) return false; | |
| if (has_four_byte().ValueOrDefault() && !four_byte().Ok()) return false; | |
| if (!has_five_byte().Known()) return false; | |
| if (has_five_byte().ValueOrDefault() && !five_byte().Ok()) return false; | |
| if (!has_six_byte().Known()) return false; | |
| if (has_six_byte().ValueOrDefault() && !six_byte().Ok()) return false; | |
| if (!has_seven_byte().Known()) return false; | |
| if (has_seven_byte().ValueOrDefault() && !seven_byte().Ok()) return false; | |
| if (!has_eight_byte().Known()) return false; | |
| if (has_eight_byte().ValueOrDefault() && !eight_byte().Ok()) return false; | |
| if (!has_emboss_reserved_anonymous_field_1().Known()) return false; | |
| if (has_emboss_reserved_anonymous_field_1().ValueOrDefault() && !emboss_reserved_anonymous_field_1().Ok()) return false; | |
| if (!has_four_bit().Known()) return false; | |
| if (has_four_bit().ValueOrDefault() && !four_bit().Ok()) return false; | |
| if (!has_six_bit().Known()) return false; | |
| if (has_six_bit().ValueOrDefault() && !six_bit().Ok()) return false; | |
| if (!has_ten_bit().Known()) return false; | |
| if (has_ten_bit().ValueOrDefault() && !ten_bit().Ok()) return false; | |
| if (!has_twelve_bit().Known()) return false; | |
| if (has_twelve_bit().ValueOrDefault() && !twelve_bit().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( | |
| GenericBcdSizesView<OtherStorage> emboss_reserved_local_other) const { | |
| if (!has_one_byte().Known()) return false; | |
| if (!emboss_reserved_local_other.has_one_byte().Known()) return false; | |
| if (emboss_reserved_local_other.has_one_byte().ValueOrDefault() && | |
| !has_one_byte().ValueOrDefault()) | |
| return false; | |
| if (has_one_byte().ValueOrDefault() && | |
| !emboss_reserved_local_other.has_one_byte().ValueOrDefault()) | |
| return false; | |
| if (emboss_reserved_local_other.has_one_byte().ValueOrDefault() && | |
| has_one_byte().ValueOrDefault() && | |
| !one_byte().Equals(emboss_reserved_local_other.one_byte())) | |
| return false; | |
| if (!has_two_byte().Known()) return false; | |
| if (!emboss_reserved_local_other.has_two_byte().Known()) return false; | |
| if (emboss_reserved_local_other.has_two_byte().ValueOrDefault() && | |
| !has_two_byte().ValueOrDefault()) | |
| return false; | |
| if (has_two_byte().ValueOrDefault() && | |
| !emboss_reserved_local_other.has_two_byte().ValueOrDefault()) | |
| return false; | |
| if (emboss_reserved_local_other.has_two_byte().ValueOrDefault() && | |
| has_two_byte().ValueOrDefault() && | |
| !two_byte().Equals(emboss_reserved_local_other.two_byte())) | |
| return false; | |
| if (!has_three_byte().Known()) return false; | |
| if (!emboss_reserved_local_other.has_three_byte().Known()) return false; | |
| if (emboss_reserved_local_other.has_three_byte().ValueOrDefault() && | |
| !has_three_byte().ValueOrDefault()) | |
| return false; | |
| if (has_three_byte().ValueOrDefault() && | |
| !emboss_reserved_local_other.has_three_byte().ValueOrDefault()) | |
| return false; | |
| if (emboss_reserved_local_other.has_three_byte().ValueOrDefault() && | |
| has_three_byte().ValueOrDefault() && | |
| !three_byte().Equals(emboss_reserved_local_other.three_byte())) | |
| return false; | |
| if (!has_four_byte().Known()) return false; | |
| if (!emboss_reserved_local_other.has_four_byte().Known()) return false; | |
| if (emboss_reserved_local_other.has_four_byte().ValueOrDefault() && | |
| !has_four_byte().ValueOrDefault()) | |
| return false; | |
| if (has_four_byte().ValueOrDefault() && | |
| !emboss_reserved_local_other.has_four_byte().ValueOrDefault()) | |
| return false; | |
| if (emboss_reserved_local_other.has_four_byte().ValueOrDefault() && | |
| has_four_byte().ValueOrDefault() && | |
| !four_byte().Equals(emboss_reserved_local_other.four_byte())) | |
| return false; | |
| if (!has_five_byte().Known()) return false; | |
| if (!emboss_reserved_local_other.has_five_byte().Known()) return false; | |
| if (emboss_reserved_local_other.has_five_byte().ValueOrDefault() && | |
| !has_five_byte().ValueOrDefault()) | |
| return false; | |
| if (has_five_byte().ValueOrDefault() && | |
| !emboss_reserved_local_other.has_five_byte().ValueOrDefault()) | |
| return false; | |
| if (emboss_reserved_local_other.has_five_byte().ValueOrDefault() && | |
| has_five_byte().ValueOrDefault() && | |
| !five_byte().Equals(emboss_reserved_local_other.five_byte())) | |
| return false; | |
| if (!has_six_byte().Known()) return false; | |
| if (!emboss_reserved_local_other.has_six_byte().Known()) return false; | |
| if (emboss_reserved_local_other.has_six_byte().ValueOrDefault() && | |
| !has_six_byte().ValueOrDefault()) | |
| return false; | |
| if (has_six_byte().ValueOrDefault() && | |
| !emboss_reserved_local_other.has_six_byte().ValueOrDefault()) | |
| return false; | |
| if (emboss_reserved_local_other.has_six_byte().ValueOrDefault() && | |
| has_six_byte().ValueOrDefault() && | |
| !six_byte().Equals(emboss_reserved_local_other.six_byte())) | |
| return false; | |
| if (!has_seven_byte().Known()) return false; | |
| if (!emboss_reserved_local_other.has_seven_byte().Known()) return false; | |
| if (emboss_reserved_local_other.has_seven_byte().ValueOrDefault() && | |
| !has_seven_byte().ValueOrDefault()) | |
| return false; | |
| if (has_seven_byte().ValueOrDefault() && | |
| !emboss_reserved_local_other.has_seven_byte().ValueOrDefault()) | |
| return false; | |
| if (emboss_reserved_local_other.has_seven_byte().ValueOrDefault() && | |
| has_seven_byte().ValueOrDefault() && | |
| !seven_byte().Equals(emboss_reserved_local_other.seven_byte())) | |
| return false; | |
| if (!has_eight_byte().Known()) return false; | |
| if (!emboss_reserved_local_other.has_eight_byte().Known()) return false; | |
| if (emboss_reserved_local_other.has_eight_byte().ValueOrDefault() && | |
| !has_eight_byte().ValueOrDefault()) | |
| return false; | |
| if (has_eight_byte().ValueOrDefault() && | |
| !emboss_reserved_local_other.has_eight_byte().ValueOrDefault()) | |
| return false; | |
| if (emboss_reserved_local_other.has_eight_byte().ValueOrDefault() && | |
| has_eight_byte().ValueOrDefault() && | |
| !eight_byte().Equals(emboss_reserved_local_other.eight_byte())) | |
| return false; | |
| if (!has_emboss_reserved_anonymous_field_1().Known()) return false; | |
| if (!emboss_reserved_local_other.has_emboss_reserved_anonymous_field_1().Known()) return false; | |
| if (emboss_reserved_local_other.has_emboss_reserved_anonymous_field_1().ValueOrDefault() && | |
| !has_emboss_reserved_anonymous_field_1().ValueOrDefault()) | |
| return false; | |
| if (has_emboss_reserved_anonymous_field_1().ValueOrDefault() && | |
| !emboss_reserved_local_other.has_emboss_reserved_anonymous_field_1().ValueOrDefault()) | |
| return false; | |
| if (emboss_reserved_local_other.has_emboss_reserved_anonymous_field_1().ValueOrDefault() && | |
| has_emboss_reserved_anonymous_field_1().ValueOrDefault() && | |
| !emboss_reserved_anonymous_field_1().Equals(emboss_reserved_local_other.emboss_reserved_anonymous_field_1())) | |
| return false; | |
| return true; | |
| } | |
| template <typename OtherStorage> | |
| bool UncheckedEquals( | |
| GenericBcdSizesView<OtherStorage> emboss_reserved_local_other) const { | |
| if (emboss_reserved_local_other.has_one_byte().ValueOr(false) && | |
| !has_one_byte().ValueOr(false)) | |
| return false; | |
| if (has_one_byte().ValueOr(false) && | |
| !emboss_reserved_local_other.has_one_byte().ValueOr(false)) | |
| return false; | |
| if (emboss_reserved_local_other.has_one_byte().ValueOr(false) && | |
| has_one_byte().ValueOr(false) && | |
| !one_byte().UncheckedEquals(emboss_reserved_local_other.one_byte())) | |
| return false; | |
| if (emboss_reserved_local_other.has_two_byte().ValueOr(false) && | |
| !has_two_byte().ValueOr(false)) | |
| return false; | |
| if (has_two_byte().ValueOr(false) && | |
| !emboss_reserved_local_other.has_two_byte().ValueOr(false)) | |
| return false; | |
| if (emboss_reserved_local_other.has_two_byte().ValueOr(false) && | |
| has_two_byte().ValueOr(false) && | |
| !two_byte().UncheckedEquals(emboss_reserved_local_other.two_byte())) | |
| return false; | |
| if (emboss_reserved_local_other.has_three_byte().ValueOr(false) && | |
| !has_three_byte().ValueOr(false)) | |
| return false; | |
| if (has_three_byte().ValueOr(false) && | |
| !emboss_reserved_local_other.has_three_byte().ValueOr(false)) | |
| return false; | |
| if (emboss_reserved_local_other.has_three_byte().ValueOr(false) && | |
| has_three_byte().ValueOr(false) && | |
| !three_byte().UncheckedEquals(emboss_reserved_local_other.three_byte())) | |
| return false; | |
| if (emboss_reserved_local_other.has_four_byte().ValueOr(false) && | |
| !has_four_byte().ValueOr(false)) | |
| return false; | |
| if (has_four_byte().ValueOr(false) && | |
| !emboss_reserved_local_other.has_four_byte().ValueOr(false)) | |
| return false; | |
| if (emboss_reserved_local_other.has_four_byte().ValueOr(false) && | |
| has_four_byte().ValueOr(false) && | |
| !four_byte().UncheckedEquals(emboss_reserved_local_other.four_byte())) | |
| return false; | |
| if (emboss_reserved_local_other.has_five_byte().ValueOr(false) && | |
| !has_five_byte().ValueOr(false)) | |
| return false; | |
| if (has_five_byte().ValueOr(false) && | |
| !emboss_reserved_local_other.has_five_byte().ValueOr(false)) | |
| return false; | |
| if (emboss_reserved_local_other.has_five_byte().ValueOr(false) && | |
| has_five_byte().ValueOr(false) && | |
| !five_byte().UncheckedEquals(emboss_reserved_local_other.five_byte())) | |
| return false; | |
| if (emboss_reserved_local_other.has_six_byte().ValueOr(false) && | |
| !has_six_byte().ValueOr(false)) | |
| return false; | |
| if (has_six_byte().ValueOr(false) && | |
| !emboss_reserved_local_other.has_six_byte().ValueOr(false)) | |
| return false; | |
| if (emboss_reserved_local_other.has_six_byte().ValueOr(false) && | |
| has_six_byte().ValueOr(false) && | |
| !six_byte().UncheckedEquals(emboss_reserved_local_other.six_byte())) | |
| return false; | |
| if (emboss_reserved_local_other.has_seven_byte().ValueOr(false) && | |
| !has_seven_byte().ValueOr(false)) | |
| return false; | |
| if (has_seven_byte().ValueOr(false) && | |
| !emboss_reserved_local_other.has_seven_byte().ValueOr(false)) | |
| return false; | |
| if (emboss_reserved_local_other.has_seven_byte().ValueOr(false) && | |
| has_seven_byte().ValueOr(false) && | |
| !seven_byte().UncheckedEquals(emboss_reserved_local_other.seven_byte())) | |
| return false; | |
| if (emboss_reserved_local_other.has_eight_byte().ValueOr(false) && | |
| !has_eight_byte().ValueOr(false)) | |
| return false; | |
| if (has_eight_byte().ValueOr(false) && | |
| !emboss_reserved_local_other.has_eight_byte().ValueOr(false)) | |
| return false; | |
| if (emboss_reserved_local_other.has_eight_byte().ValueOr(false) && | |
| has_eight_byte().ValueOr(false) && | |
| !eight_byte().UncheckedEquals(emboss_reserved_local_other.eight_byte())) | |
| return false; | |
| if (emboss_reserved_local_other.has_emboss_reserved_anonymous_field_1().ValueOr(false) && | |
| !has_emboss_reserved_anonymous_field_1().ValueOr(false)) | |
| return false; | |
| if (has_emboss_reserved_anonymous_field_1().ValueOr(false) && | |
| !emboss_reserved_local_other.has_emboss_reserved_anonymous_field_1().ValueOr(false)) | |
| return false; | |
| if (emboss_reserved_local_other.has_emboss_reserved_anonymous_field_1().ValueOr(false) && | |
| has_emboss_reserved_anonymous_field_1().ValueOr(false) && | |
| !emboss_reserved_anonymous_field_1().UncheckedEquals(emboss_reserved_local_other.emboss_reserved_anonymous_field_1())) | |
| return false; | |
| return true; | |
| } | |
| template <typename OtherStorage> | |
| void UncheckedCopyFrom( | |
| GenericBcdSizesView<OtherStorage> emboss_reserved_local_other) const { | |
| backing_.UncheckedCopyFrom( | |
| emboss_reserved_local_other.BackingStorage(), | |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); | |
| } | |
| template <typename OtherStorage> | |
| void CopyFrom( | |
| GenericBcdSizesView<OtherStorage> emboss_reserved_local_other) const { | |
| backing_.CopyFrom( | |
| emboss_reserved_local_other.BackingStorage(), | |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); | |
| } | |
| template <typename OtherStorage> | |
| bool TryToCopyFrom( | |
| GenericBcdSizesView<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 == "one_byte") { | |
| if (!one_byte().UpdateFromTextStream( | |
| emboss_reserved_local_stream)) { | |
| return false; | |
| } | |
| continue; | |
| } | |
| if (emboss_reserved_local_name == "two_byte") { | |
| if (!two_byte().UpdateFromTextStream( | |
| emboss_reserved_local_stream)) { | |
| return false; | |
| } | |
| continue; | |
| } | |
| if (emboss_reserved_local_name == "three_byte") { | |
| if (!three_byte().UpdateFromTextStream( | |
| emboss_reserved_local_stream)) { | |
| return false; | |
| } | |
| continue; | |
| } | |
| if (emboss_reserved_local_name == "four_byte") { | |
| if (!four_byte().UpdateFromTextStream( | |
| emboss_reserved_local_stream)) { | |
| return false; | |
| } | |
| continue; | |
| } | |
| if (emboss_reserved_local_name == "five_byte") { | |
| if (!five_byte().UpdateFromTextStream( | |
| emboss_reserved_local_stream)) { | |
| return false; | |
| } | |
| continue; | |
| } | |
| if (emboss_reserved_local_name == "six_byte") { | |
| if (!six_byte().UpdateFromTextStream( | |
| emboss_reserved_local_stream)) { | |
| return false; | |
| } | |
| continue; | |
| } | |
| if (emboss_reserved_local_name == "seven_byte") { | |
| if (!seven_byte().UpdateFromTextStream( | |
| emboss_reserved_local_stream)) { | |
| return false; | |
| } | |
| continue; | |
| } | |
| if (emboss_reserved_local_name == "eight_byte") { | |
| if (!eight_byte().UpdateFromTextStream( | |
| emboss_reserved_local_stream)) { | |
| return false; | |
| } | |
| continue; | |
| } | |
| if (emboss_reserved_local_name == "four_bit") { | |
| if (!four_bit().UpdateFromTextStream( | |
| emboss_reserved_local_stream)) { | |
| return false; | |
| } | |
| continue; | |
| } | |
| if (emboss_reserved_local_name == "six_bit") { | |
| if (!six_bit().UpdateFromTextStream( | |
| emboss_reserved_local_stream)) { | |
| return false; | |
| } | |
| continue; | |
| } | |
| if (emboss_reserved_local_name == "ten_bit") { | |
| if (!ten_bit().UpdateFromTextStream( | |
| emboss_reserved_local_stream)) { | |
| return false; | |
| } | |
| continue; | |
| } | |
| if (emboss_reserved_local_name == "twelve_bit") { | |
| if (!twelve_bit().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_one_byte().ValueOr(false)) { | |
| if (!emboss_reserved_local_field_options.allow_partial_output() || | |
| one_byte().IsAggregate() || one_byte().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("one_byte: "); | |
| one_byte().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() && | |
| !one_byte().IsAggregate() && !one_byte().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("# one_byte: UNREADABLE\n"); | |
| } | |
| } | |
| if (has_two_byte().ValueOr(false)) { | |
| if (!emboss_reserved_local_field_options.allow_partial_output() || | |
| two_byte().IsAggregate() || two_byte().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("two_byte: "); | |
| two_byte().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() && | |
| !two_byte().IsAggregate() && !two_byte().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("# two_byte: UNREADABLE\n"); | |
| } | |
| } | |
| if (has_three_byte().ValueOr(false)) { | |
| if (!emboss_reserved_local_field_options.allow_partial_output() || | |
| three_byte().IsAggregate() || three_byte().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("three_byte: "); | |
| three_byte().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() && | |
| !three_byte().IsAggregate() && !three_byte().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("# three_byte: UNREADABLE\n"); | |
| } | |
| } | |
| if (has_four_byte().ValueOr(false)) { | |
| if (!emboss_reserved_local_field_options.allow_partial_output() || | |
| four_byte().IsAggregate() || four_byte().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("four_byte: "); | |
| four_byte().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() && | |
| !four_byte().IsAggregate() && !four_byte().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("# four_byte: UNREADABLE\n"); | |
| } | |
| } | |
| if (has_five_byte().ValueOr(false)) { | |
| if (!emboss_reserved_local_field_options.allow_partial_output() || | |
| five_byte().IsAggregate() || five_byte().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("five_byte: "); | |
| five_byte().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() && | |
| !five_byte().IsAggregate() && !five_byte().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("# five_byte: UNREADABLE\n"); | |
| } | |
| } | |
| if (has_six_byte().ValueOr(false)) { | |
| if (!emboss_reserved_local_field_options.allow_partial_output() || | |
| six_byte().IsAggregate() || six_byte().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("six_byte: "); | |
| six_byte().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() && | |
| !six_byte().IsAggregate() && !six_byte().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("# six_byte: UNREADABLE\n"); | |
| } | |
| } | |
| if (has_seven_byte().ValueOr(false)) { | |
| if (!emboss_reserved_local_field_options.allow_partial_output() || | |
| seven_byte().IsAggregate() || seven_byte().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("seven_byte: "); | |
| seven_byte().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() && | |
| !seven_byte().IsAggregate() && !seven_byte().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("# seven_byte: UNREADABLE\n"); | |
| } | |
| } | |
| if (has_eight_byte().ValueOr(false)) { | |
| if (!emboss_reserved_local_field_options.allow_partial_output() || | |
| eight_byte().IsAggregate() || eight_byte().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("eight_byte: "); | |
| eight_byte().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() && | |
| !eight_byte().IsAggregate() && !eight_byte().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("# eight_byte: UNREADABLE\n"); | |
| } | |
| } | |
| if (has_four_bit().ValueOr(false)) { | |
| if (!emboss_reserved_local_field_options.allow_partial_output() || | |
| four_bit().IsAggregate() || four_bit().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("four_bit: "); | |
| four_bit().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() && | |
| !four_bit().IsAggregate() && !four_bit().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("# four_bit: UNREADABLE\n"); | |
| } | |
| } | |
| if (has_six_bit().ValueOr(false)) { | |
| if (!emboss_reserved_local_field_options.allow_partial_output() || | |
| six_bit().IsAggregate() || six_bit().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("six_bit: "); | |
| six_bit().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() && | |
| !six_bit().IsAggregate() && !six_bit().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("# six_bit: UNREADABLE\n"); | |
| } | |
| } | |
| if (has_ten_bit().ValueOr(false)) { | |
| if (!emboss_reserved_local_field_options.allow_partial_output() || | |
| ten_bit().IsAggregate() || ten_bit().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("ten_bit: "); | |
| ten_bit().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() && | |
| !ten_bit().IsAggregate() && !ten_bit().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("# ten_bit: UNREADABLE\n"); | |
| } | |
| } | |
| if (has_twelve_bit().ValueOr(false)) { | |
| if (!emboss_reserved_local_field_options.allow_partial_output() || | |
| twelve_bit().IsAggregate() || twelve_bit().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("twelve_bit: "); | |
| twelve_bit().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() && | |
| !twelve_bit().IsAggregate() && !twelve_bit().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("# twelve_bit: 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::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 0>>, 8>> | |
| one_byte() const; | |
| ::emboss::support::Maybe<bool> has_one_byte() const; | |
| public: | |
| typename ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<16, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 16>> | |
| two_byte() const; | |
| ::emboss::support::Maybe<bool> has_two_byte() const; | |
| public: | |
| typename ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<24, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 3>>, 24>> | |
| three_byte() const; | |
| ::emboss::support::Maybe<bool> has_three_byte() const; | |
| public: | |
| typename ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<32, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 6>>, 32>> | |
| four_byte() const; | |
| ::emboss::support::Maybe<bool> has_four_byte() const; | |
| public: | |
| typename ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<40, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 10>>, 40>> | |
| five_byte() const; | |
| ::emboss::support::Maybe<bool> has_five_byte() const; | |
| public: | |
| typename ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<48, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 15>>, 48>> | |
| six_byte() const; | |
| ::emboss::support::Maybe<bool> has_six_byte() const; | |
| public: | |
| typename ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<56, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 21>>, 56>> | |
| seven_byte() const; | |
| ::emboss::support::Maybe<bool> has_seven_byte() const; | |
| public: | |
| typename ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<64, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 28>>, 64>> | |
| eight_byte() const; | |
| ::emboss::support::Maybe<bool> has_eight_byte() const; | |
| private: | |
| typename ::emboss::test::BcdSizes::GenericEmbossReservedAnonymousField1View<typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 36>>, 32>> | |
| emboss_reserved_anonymous_field_1() const; | |
| ::emboss::support::Maybe<bool> has_emboss_reserved_anonymous_field_1() const; | |
| public: | |
| auto four_bit() const -> decltype(this->emboss_reserved_anonymous_field_1().four_bit()) { | |
| return has_four_bit().ValueOrDefault() ? emboss_reserved_anonymous_field_1().four_bit() | |
| : decltype(this->emboss_reserved_anonymous_field_1().four_bit())(); | |
| } | |
| ::emboss::support::Maybe<bool> has_four_bit() const; | |
| public: | |
| auto six_bit() const -> decltype(this->emboss_reserved_anonymous_field_1().six_bit()) { | |
| return has_six_bit().ValueOrDefault() ? emboss_reserved_anonymous_field_1().six_bit() | |
| : decltype(this->emboss_reserved_anonymous_field_1().six_bit())(); | |
| } | |
| ::emboss::support::Maybe<bool> has_six_bit() const; | |
| public: | |
| auto ten_bit() const -> decltype(this->emboss_reserved_anonymous_field_1().ten_bit()) { | |
| return has_ten_bit().ValueOrDefault() ? emboss_reserved_anonymous_field_1().ten_bit() | |
| : decltype(this->emboss_reserved_anonymous_field_1().ten_bit())(); | |
| } | |
| ::emboss::support::Maybe<bool> has_ten_bit() const; | |
| public: | |
| auto twelve_bit() const -> decltype(this->emboss_reserved_anonymous_field_1().twelve_bit()) { | |
| return has_twelve_bit().ValueOrDefault() ? emboss_reserved_anonymous_field_1().twelve_bit() | |
| : decltype(this->emboss_reserved_anonymous_field_1().twelve_bit())(); | |
| } | |
| ::emboss::support::Maybe<bool> has_twelve_bit() 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 GenericBcdSizesView; | |
| }; | |
| using BcdSizesView = | |
| GenericBcdSizesView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; | |
| using BcdSizesWriter = | |
| GenericBcdSizesView</**/ ::emboss::support::ReadWriteContiguousBuffer>; | |
| template <class View> | |
| struct EmbossReservedInternalIsGenericBcdSizesView { | |
| static constexpr const bool value = false; | |
| }; | |
| template <class Storage> | |
| struct EmbossReservedInternalIsGenericBcdSizesView< | |
| GenericBcdSizesView<Storage>> { | |
| static constexpr const bool value = true; | |
| }; | |
| template <typename T> | |
| inline GenericBcdSizesView< | |
| /**/ ::emboss::support::ContiguousBuffer< | |
| typename ::std::remove_reference< | |
| decltype(*::std::declval<T>()->data())>::type, | |
| 1, 0>> | |
| MakeBcdSizesView( T &&emboss_reserved_local_arg) { | |
| return GenericBcdSizesView< | |
| /**/ ::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 GenericBcdSizesView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> | |
| MakeBcdSizesView( T *emboss_reserved_local_data, | |
| ::std::size_t emboss_reserved_local_size) { | |
| return GenericBcdSizesView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( | |
| emboss_reserved_local_data, | |
| emboss_reserved_local_size); | |
| } | |
| template <typename T, ::std::size_t kAlignment> | |
| inline GenericBcdSizesView< | |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> | |
| MakeAlignedBcdSizesView( | |
| T *emboss_reserved_local_data, | |
| ::std::size_t emboss_reserved_local_size) { | |
| return GenericBcdSizesView< | |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( | |
| emboss_reserved_local_data, | |
| emboss_reserved_local_size); | |
| } | |
| namespace BcdBigEndian { | |
| } // namespace BcdBigEndian | |
| template <class View> | |
| struct EmbossReservedInternalIsGenericBcdBigEndianView; | |
| template <class Storage> | |
| class GenericBcdBigEndianView final { | |
| public: | |
| GenericBcdBigEndianView() : backing_() {} | |
| explicit GenericBcdBigEndianView( | |
| Storage emboss_reserved_local_bytes) | |
| : backing_(emboss_reserved_local_bytes) | |
| {} | |
| template <typename OtherStorage> | |
| GenericBcdBigEndianView( | |
| const GenericBcdBigEndianView<OtherStorage> &emboss_reserved_local_other) | |
| : backing_{emboss_reserved_local_other.BackingStorage()} | |
| {} | |
| template <typename Arg, | |
| typename = typename ::std::enable_if< | |
| !EmbossReservedInternalIsGenericBcdBigEndianView< | |
| typename ::std::remove_cv<typename ::std::remove_reference< | |
| Arg>::type>::type>::value>::type> | |
| explicit GenericBcdBigEndianView( | |
| Arg &&emboss_reserved_local_arg) | |
| : backing_(::std::forward<Arg>( | |
| emboss_reserved_local_arg)) | |
| {} | |
| template <typename Arg0, typename Arg1, typename... Args> | |
| explicit GenericBcdBigEndianView( | |
| 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> | |
| GenericBcdBigEndianView<Storage> &operator=( | |
| const GenericBcdBigEndianView<OtherStorage> &emboss_reserved_local_other) { | |
| backing_ = emboss_reserved_local_other.BackingStorage(); | |
| return *this; | |
| } | |
| bool Ok() const { | |
| if (!IsComplete()) return false; | |
| if (!has_four_byte().Known()) return false; | |
| if (has_four_byte().ValueOrDefault() && !four_byte().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( | |
| GenericBcdBigEndianView<OtherStorage> emboss_reserved_local_other) const { | |
| if (!has_four_byte().Known()) return false; | |
| if (!emboss_reserved_local_other.has_four_byte().Known()) return false; | |
| if (emboss_reserved_local_other.has_four_byte().ValueOrDefault() && | |
| !has_four_byte().ValueOrDefault()) | |
| return false; | |
| if (has_four_byte().ValueOrDefault() && | |
| !emboss_reserved_local_other.has_four_byte().ValueOrDefault()) | |
| return false; | |
| if (emboss_reserved_local_other.has_four_byte().ValueOrDefault() && | |
| has_four_byte().ValueOrDefault() && | |
| !four_byte().Equals(emboss_reserved_local_other.four_byte())) | |
| return false; | |
| return true; | |
| } | |
| template <typename OtherStorage> | |
| bool UncheckedEquals( | |
| GenericBcdBigEndianView<OtherStorage> emboss_reserved_local_other) const { | |
| if (emboss_reserved_local_other.has_four_byte().ValueOr(false) && | |
| !has_four_byte().ValueOr(false)) | |
| return false; | |
| if (has_four_byte().ValueOr(false) && | |
| !emboss_reserved_local_other.has_four_byte().ValueOr(false)) | |
| return false; | |
| if (emboss_reserved_local_other.has_four_byte().ValueOr(false) && | |
| has_four_byte().ValueOr(false) && | |
| !four_byte().UncheckedEquals(emboss_reserved_local_other.four_byte())) | |
| return false; | |
| return true; | |
| } | |
| template <typename OtherStorage> | |
| void UncheckedCopyFrom( | |
| GenericBcdBigEndianView<OtherStorage> emboss_reserved_local_other) const { | |
| backing_.UncheckedCopyFrom( | |
| emboss_reserved_local_other.BackingStorage(), | |
| emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); | |
| } | |
| template <typename OtherStorage> | |
| void CopyFrom( | |
| GenericBcdBigEndianView<OtherStorage> emboss_reserved_local_other) const { | |
| backing_.CopyFrom( | |
| emboss_reserved_local_other.BackingStorage(), | |
| emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); | |
| } | |
| template <typename OtherStorage> | |
| bool TryToCopyFrom( | |
| GenericBcdBigEndianView<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 == "four_byte") { | |
| if (!four_byte().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_four_byte().ValueOr(false)) { | |
| if (!emboss_reserved_local_field_options.allow_partial_output() || | |
| four_byte().IsAggregate() || four_byte().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("four_byte: "); | |
| four_byte().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() && | |
| !four_byte().IsAggregate() && !four_byte().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("# four_byte: 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::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<32, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::BigEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 0>>, 32>> | |
| four_byte() const; | |
| ::emboss::support::Maybe<bool> has_four_byte() 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 GenericBcdBigEndianView; | |
| }; | |
| using BcdBigEndianView = | |
| GenericBcdBigEndianView</**/ ::emboss::support::ReadOnlyContiguousBuffer>; | |
| using BcdBigEndianWriter = | |
| GenericBcdBigEndianView</**/ ::emboss::support::ReadWriteContiguousBuffer>; | |
| template <class View> | |
| struct EmbossReservedInternalIsGenericBcdBigEndianView { | |
| static constexpr const bool value = false; | |
| }; | |
| template <class Storage> | |
| struct EmbossReservedInternalIsGenericBcdBigEndianView< | |
| GenericBcdBigEndianView<Storage>> { | |
| static constexpr const bool value = true; | |
| }; | |
| template <typename T> | |
| inline GenericBcdBigEndianView< | |
| /**/ ::emboss::support::ContiguousBuffer< | |
| typename ::std::remove_reference< | |
| decltype(*::std::declval<T>()->data())>::type, | |
| 1, 0>> | |
| MakeBcdBigEndianView( T &&emboss_reserved_local_arg) { | |
| return GenericBcdBigEndianView< | |
| /**/ ::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 GenericBcdBigEndianView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>> | |
| MakeBcdBigEndianView( T *emboss_reserved_local_data, | |
| ::std::size_t emboss_reserved_local_size) { | |
| return GenericBcdBigEndianView</**/ ::emboss::support::ContiguousBuffer<T, 1, 0>>( | |
| emboss_reserved_local_data, | |
| emboss_reserved_local_size); | |
| } | |
| template <typename T, ::std::size_t kAlignment> | |
| inline GenericBcdBigEndianView< | |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>> | |
| MakeAlignedBcdBigEndianView( | |
| T *emboss_reserved_local_data, | |
| ::std::size_t emboss_reserved_local_size) { | |
| return GenericBcdBigEndianView< | |
| /**/ ::emboss::support::ContiguousBuffer<T, kAlignment, 0>>( | |
| emboss_reserved_local_data, | |
| emboss_reserved_local_size); | |
| } | |
| namespace BcdSizes { | |
| namespace EmbossReservedAnonymousField1 { | |
| } // namespace EmbossReservedAnonymousField1 | |
| template <class Storage> | |
| inline typename ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<4, ::emboss::support::AllValuesAreOk>, | |
| typename Storage::template OffsetStorageType</**/0, 0>> | |
| GenericEmbossReservedAnonymousField1View<Storage>::four_bit() | |
| const { | |
| if ( has_four_bit().ValueOr(false)) { | |
| auto emboss_reserved_local_size = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(4LL)); | |
| auto emboss_reserved_local_offset = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL)); | |
| if (emboss_reserved_local_size.Known() && | |
| emboss_reserved_local_size.ValueOr(0) >= 0 && | |
| emboss_reserved_local_offset.Known() && | |
| emboss_reserved_local_offset.ValueOr(0) >= 0) { | |
| return ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<4, ::emboss::support::AllValuesAreOk>, | |
| typename Storage::template OffsetStorageType</**/0, 0>> | |
| ( | |
| backing_ | |
| .template GetOffsetStorage<0, | |
| 0>( | |
| emboss_reserved_local_offset.ValueOrDefault(), | |
| emboss_reserved_local_size.ValueOrDefault())); | |
| } | |
| } | |
| return ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<4, ::emboss::support::AllValuesAreOk>, | |
| typename Storage::template OffsetStorageType</**/0, 0>> | |
| (); | |
| } | |
| template <class Storage> | |
| inline ::emboss::support::Maybe<bool> | |
| GenericEmbossReservedAnonymousField1View<Storage>::has_four_bit() const { | |
| return ::emboss::support::Maybe</**/bool>(true); | |
| } | |
| template <class Storage> | |
| inline typename ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<6, ::emboss::support::AllValuesAreOk>, | |
| typename Storage::template OffsetStorageType</**/0, 4>> | |
| GenericEmbossReservedAnonymousField1View<Storage>::six_bit() | |
| const { | |
| if ( has_six_bit().ValueOr(false)) { | |
| auto emboss_reserved_local_size = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(6LL)); | |
| auto emboss_reserved_local_offset = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(4LL)); | |
| if (emboss_reserved_local_size.Known() && | |
| emboss_reserved_local_size.ValueOr(0) >= 0 && | |
| emboss_reserved_local_offset.Known() && | |
| emboss_reserved_local_offset.ValueOr(0) >= 0) { | |
| return ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<6, ::emboss::support::AllValuesAreOk>, | |
| typename Storage::template OffsetStorageType</**/0, 4>> | |
| ( | |
| backing_ | |
| .template GetOffsetStorage<0, | |
| 4>( | |
| emboss_reserved_local_offset.ValueOrDefault(), | |
| emboss_reserved_local_size.ValueOrDefault())); | |
| } | |
| } | |
| return ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<6, ::emboss::support::AllValuesAreOk>, | |
| typename Storage::template OffsetStorageType</**/0, 4>> | |
| (); | |
| } | |
| template <class Storage> | |
| inline ::emboss::support::Maybe<bool> | |
| GenericEmbossReservedAnonymousField1View<Storage>::has_six_bit() const { | |
| return ::emboss::support::Maybe</**/bool>(true); | |
| } | |
| template <class Storage> | |
| inline typename ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<10, ::emboss::support::AllValuesAreOk>, | |
| typename Storage::template OffsetStorageType</**/0, 10>> | |
| GenericEmbossReservedAnonymousField1View<Storage>::ten_bit() | |
| const { | |
| if ( has_ten_bit().ValueOr(false)) { | |
| auto emboss_reserved_local_size = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(10LL)); | |
| auto emboss_reserved_local_offset = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(10LL)); | |
| if (emboss_reserved_local_size.Known() && | |
| emboss_reserved_local_size.ValueOr(0) >= 0 && | |
| emboss_reserved_local_offset.Known() && | |
| emboss_reserved_local_offset.ValueOr(0) >= 0) { | |
| return ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<10, ::emboss::support::AllValuesAreOk>, | |
| typename Storage::template OffsetStorageType</**/0, 10>> | |
| ( | |
| backing_ | |
| .template GetOffsetStorage<0, | |
| 10>( | |
| emboss_reserved_local_offset.ValueOrDefault(), | |
| emboss_reserved_local_size.ValueOrDefault())); | |
| } | |
| } | |
| return ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<10, ::emboss::support::AllValuesAreOk>, | |
| typename Storage::template OffsetStorageType</**/0, 10>> | |
| (); | |
| } | |
| template <class Storage> | |
| inline ::emboss::support::Maybe<bool> | |
| GenericEmbossReservedAnonymousField1View<Storage>::has_ten_bit() const { | |
| return ::emboss::support::Maybe</**/bool>(true); | |
| } | |
| template <class Storage> | |
| inline typename ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<12, ::emboss::support::AllValuesAreOk>, | |
| typename Storage::template OffsetStorageType</**/0, 20>> | |
| GenericEmbossReservedAnonymousField1View<Storage>::twelve_bit() | |
| const { | |
| if ( has_twelve_bit().ValueOr(false)) { | |
| auto emboss_reserved_local_size = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(12LL)); | |
| auto emboss_reserved_local_offset = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(20LL)); | |
| if (emboss_reserved_local_size.Known() && | |
| emboss_reserved_local_size.ValueOr(0) >= 0 && | |
| emboss_reserved_local_offset.Known() && | |
| emboss_reserved_local_offset.ValueOr(0) >= 0) { | |
| return ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<12, ::emboss::support::AllValuesAreOk>, | |
| typename Storage::template OffsetStorageType</**/0, 20>> | |
| ( | |
| backing_ | |
| .template GetOffsetStorage<0, | |
| 20>( | |
| emboss_reserved_local_offset.ValueOrDefault(), | |
| emboss_reserved_local_size.ValueOrDefault())); | |
| } | |
| } | |
| return ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<12, ::emboss::support::AllValuesAreOk>, | |
| typename Storage::template OffsetStorageType</**/0, 20>> | |
| (); | |
| } | |
| template <class Storage> | |
| inline ::emboss::support::Maybe<bool> | |
| GenericEmbossReservedAnonymousField1View<Storage>::has_twelve_bit() 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>(32LL)).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>(32LL)).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>(32LL)).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 BcdSizes | |
| template <class Storage> | |
| inline typename ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<8, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 0>>, 8>> | |
| GenericBcdSizesView<Storage>::one_byte() | |
| const { | |
| if ( has_one_byte().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::BcdView< | |
| /**/ ::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::BcdView< | |
| /**/ ::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> | |
| GenericBcdSizesView<Storage>::has_one_byte() const { | |
| return ::emboss::support::Maybe</**/bool>(true); | |
| } | |
| template <class Storage> | |
| inline typename ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<16, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 16>> | |
| GenericBcdSizesView<Storage>::two_byte() | |
| const { | |
| if ( has_two_byte().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>(1LL)); | |
| if (emboss_reserved_local_size.Known() && | |
| emboss_reserved_local_size.ValueOr(0) >= 0 && | |
| emboss_reserved_local_offset.Known() && | |
| emboss_reserved_local_offset.ValueOr(0) >= 0) { | |
| return ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<16, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 16>> | |
| ( | |
| backing_ | |
| .template GetOffsetStorage<0, | |
| 1>( | |
| emboss_reserved_local_offset.ValueOrDefault(), | |
| emboss_reserved_local_size.ValueOrDefault())); | |
| } | |
| } | |
| return ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<16, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 1>>, 16>> | |
| (); | |
| } | |
| template <class Storage> | |
| inline ::emboss::support::Maybe<bool> | |
| GenericBcdSizesView<Storage>::has_two_byte() const { | |
| return ::emboss::support::Maybe</**/bool>(true); | |
| } | |
| template <class Storage> | |
| inline typename ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<24, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 3>>, 24>> | |
| GenericBcdSizesView<Storage>::three_byte() | |
| const { | |
| if ( has_three_byte().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>(3LL)); | |
| if (emboss_reserved_local_size.Known() && | |
| emboss_reserved_local_size.ValueOr(0) >= 0 && | |
| emboss_reserved_local_offset.Known() && | |
| emboss_reserved_local_offset.ValueOr(0) >= 0) { | |
| return ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<24, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 3>>, 24>> | |
| ( | |
| backing_ | |
| .template GetOffsetStorage<0, | |
| 3>( | |
| emboss_reserved_local_offset.ValueOrDefault(), | |
| emboss_reserved_local_size.ValueOrDefault())); | |
| } | |
| } | |
| return ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<24, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 3>>, 24>> | |
| (); | |
| } | |
| template <class Storage> | |
| inline ::emboss::support::Maybe<bool> | |
| GenericBcdSizesView<Storage>::has_three_byte() const { | |
| return ::emboss::support::Maybe</**/bool>(true); | |
| } | |
| template <class Storage> | |
| inline typename ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<32, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 6>>, 32>> | |
| GenericBcdSizesView<Storage>::four_byte() | |
| const { | |
| if ( has_four_byte().ValueOr(false)) { | |
| auto emboss_reserved_local_size = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(4LL)); | |
| auto emboss_reserved_local_offset = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(6LL)); | |
| if (emboss_reserved_local_size.Known() && | |
| emboss_reserved_local_size.ValueOr(0) >= 0 && | |
| emboss_reserved_local_offset.Known() && | |
| emboss_reserved_local_offset.ValueOr(0) >= 0) { | |
| return ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<32, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 6>>, 32>> | |
| ( | |
| backing_ | |
| .template GetOffsetStorage<0, | |
| 6>( | |
| emboss_reserved_local_offset.ValueOrDefault(), | |
| emboss_reserved_local_size.ValueOrDefault())); | |
| } | |
| } | |
| return ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<32, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 6>>, 32>> | |
| (); | |
| } | |
| template <class Storage> | |
| inline ::emboss::support::Maybe<bool> | |
| GenericBcdSizesView<Storage>::has_four_byte() const { | |
| return ::emboss::support::Maybe</**/bool>(true); | |
| } | |
| template <class Storage> | |
| inline typename ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<40, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 10>>, 40>> | |
| GenericBcdSizesView<Storage>::five_byte() | |
| const { | |
| if ( has_five_byte().ValueOr(false)) { | |
| auto emboss_reserved_local_size = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(5LL)); | |
| auto emboss_reserved_local_offset = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(10LL)); | |
| if (emboss_reserved_local_size.Known() && | |
| emboss_reserved_local_size.ValueOr(0) >= 0 && | |
| emboss_reserved_local_offset.Known() && | |
| emboss_reserved_local_offset.ValueOr(0) >= 0) { | |
| return ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<40, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 10>>, 40>> | |
| ( | |
| backing_ | |
| .template GetOffsetStorage<0, | |
| 10>( | |
| emboss_reserved_local_offset.ValueOrDefault(), | |
| emboss_reserved_local_size.ValueOrDefault())); | |
| } | |
| } | |
| return ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<40, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 10>>, 40>> | |
| (); | |
| } | |
| template <class Storage> | |
| inline ::emboss::support::Maybe<bool> | |
| GenericBcdSizesView<Storage>::has_five_byte() const { | |
| return ::emboss::support::Maybe</**/bool>(true); | |
| } | |
| template <class Storage> | |
| inline typename ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<48, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 15>>, 48>> | |
| GenericBcdSizesView<Storage>::six_byte() | |
| const { | |
| if ( has_six_byte().ValueOr(false)) { | |
| auto emboss_reserved_local_size = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(6LL)); | |
| auto emboss_reserved_local_offset = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(15LL)); | |
| if (emboss_reserved_local_size.Known() && | |
| emboss_reserved_local_size.ValueOr(0) >= 0 && | |
| emboss_reserved_local_offset.Known() && | |
| emboss_reserved_local_offset.ValueOr(0) >= 0) { | |
| return ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<48, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 15>>, 48>> | |
| ( | |
| backing_ | |
| .template GetOffsetStorage<0, | |
| 15>( | |
| emboss_reserved_local_offset.ValueOrDefault(), | |
| emboss_reserved_local_size.ValueOrDefault())); | |
| } | |
| } | |
| return ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<48, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 15>>, 48>> | |
| (); | |
| } | |
| template <class Storage> | |
| inline ::emboss::support::Maybe<bool> | |
| GenericBcdSizesView<Storage>::has_six_byte() const { | |
| return ::emboss::support::Maybe</**/bool>(true); | |
| } | |
| template <class Storage> | |
| inline typename ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<56, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 21>>, 56>> | |
| GenericBcdSizesView<Storage>::seven_byte() | |
| const { | |
| if ( has_seven_byte().ValueOr(false)) { | |
| auto emboss_reserved_local_size = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(7LL)); | |
| auto emboss_reserved_local_offset = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(21LL)); | |
| if (emboss_reserved_local_size.Known() && | |
| emboss_reserved_local_size.ValueOr(0) >= 0 && | |
| emboss_reserved_local_offset.Known() && | |
| emboss_reserved_local_offset.ValueOr(0) >= 0) { | |
| return ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<56, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 21>>, 56>> | |
| ( | |
| backing_ | |
| .template GetOffsetStorage<0, | |
| 21>( | |
| emboss_reserved_local_offset.ValueOrDefault(), | |
| emboss_reserved_local_size.ValueOrDefault())); | |
| } | |
| } | |
| return ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<56, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 21>>, 56>> | |
| (); | |
| } | |
| template <class Storage> | |
| inline ::emboss::support::Maybe<bool> | |
| GenericBcdSizesView<Storage>::has_seven_byte() const { | |
| return ::emboss::support::Maybe</**/bool>(true); | |
| } | |
| template <class Storage> | |
| inline typename ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<64, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 28>>, 64>> | |
| GenericBcdSizesView<Storage>::eight_byte() | |
| const { | |
| if ( has_eight_byte().ValueOr(false)) { | |
| auto emboss_reserved_local_size = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(8LL)); | |
| auto emboss_reserved_local_offset = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(28LL)); | |
| if (emboss_reserved_local_size.Known() && | |
| emboss_reserved_local_size.ValueOr(0) >= 0 && | |
| emboss_reserved_local_offset.Known() && | |
| emboss_reserved_local_offset.ValueOr(0) >= 0) { | |
| return ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<64, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 28>>, 64>> | |
| ( | |
| backing_ | |
| .template GetOffsetStorage<0, | |
| 28>( | |
| emboss_reserved_local_offset.ValueOrDefault(), | |
| emboss_reserved_local_size.ValueOrDefault())); | |
| } | |
| } | |
| return ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<64, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 28>>, 64>> | |
| (); | |
| } | |
| template <class Storage> | |
| inline ::emboss::support::Maybe<bool> | |
| GenericBcdSizesView<Storage>::has_eight_byte() const { | |
| return ::emboss::support::Maybe</**/bool>(true); | |
| } | |
| template <class Storage> | |
| inline typename ::emboss::test::BcdSizes::GenericEmbossReservedAnonymousField1View<typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 36>>, 32>> | |
| GenericBcdSizesView<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>(4LL)); | |
| auto emboss_reserved_local_offset = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(36LL)); | |
| 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::BcdSizes::GenericEmbossReservedAnonymousField1View<typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 36>>, 32>> | |
| ( | |
| backing_ | |
| .template GetOffsetStorage<0, | |
| 36>( | |
| emboss_reserved_local_offset.ValueOrDefault(), | |
| emboss_reserved_local_size.ValueOrDefault())); | |
| } | |
| } | |
| return ::emboss::test::BcdSizes::GenericEmbossReservedAnonymousField1View<typename ::emboss::support::BitBlock</**/::emboss::support::LittleEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 36>>, 32>> | |
| (); | |
| } | |
| template <class Storage> | |
| inline ::emboss::support::Maybe<bool> | |
| GenericBcdSizesView<Storage>::has_emboss_reserved_anonymous_field_1() const { | |
| return ::emboss::support::Maybe</**/bool>(true); | |
| } | |
| template <class Storage> | |
| inline ::emboss::support::Maybe<bool> | |
| GenericBcdSizesView<Storage>::has_four_bit() 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> | |
| GenericBcdSizesView<Storage>::has_six_bit() 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> | |
| GenericBcdSizesView<Storage>::has_ten_bit() 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> | |
| GenericBcdSizesView<Storage>::has_twelve_bit() const { | |
| return ::emboss::support::And</**/bool, bool, bool, bool>(::emboss::support::Maybe</**/bool>(true), ::emboss::support::Maybe</**/bool>(true)); | |
| } | |
| namespace BcdSizes { | |
| inline constexpr ::std::int32_t IntrinsicSizeInBytes() { | |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(40LL)).ValueOrDefault(); | |
| } | |
| } // namespace BcdSizes | |
| template <class Storage> | |
| inline constexpr ::std::int32_t | |
| GenericBcdSizesView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Read() { | |
| return BcdSizes::IntrinsicSizeInBytes(); | |
| } | |
| template <class Storage> | |
| inline constexpr ::std::int32_t | |
| GenericBcdSizesView< | |
| Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead() { | |
| return BcdSizes::IntrinsicSizeInBytes(); | |
| } | |
| namespace BcdSizes { | |
| inline constexpr ::std::int32_t MaxSizeInBytes() { | |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(40LL)).ValueOrDefault(); | |
| } | |
| } // namespace BcdSizes | |
| template <class Storage> | |
| inline constexpr ::std::int32_t | |
| GenericBcdSizesView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { | |
| return BcdSizes::MaxSizeInBytes(); | |
| } | |
| template <class Storage> | |
| inline constexpr ::std::int32_t | |
| GenericBcdSizesView< | |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { | |
| return BcdSizes::MaxSizeInBytes(); | |
| } | |
| namespace BcdSizes { | |
| inline constexpr ::std::int32_t MinSizeInBytes() { | |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(40LL)).ValueOrDefault(); | |
| } | |
| } // namespace BcdSizes | |
| template <class Storage> | |
| inline constexpr ::std::int32_t | |
| GenericBcdSizesView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { | |
| return BcdSizes::MinSizeInBytes(); | |
| } | |
| template <class Storage> | |
| inline constexpr ::std::int32_t | |
| GenericBcdSizesView< | |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { | |
| return BcdSizes::MinSizeInBytes(); | |
| } | |
| namespace BcdBigEndian { | |
| } // namespace BcdBigEndian | |
| template <class Storage> | |
| inline typename ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<32, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::BigEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 0>>, 32>> | |
| GenericBcdBigEndianView<Storage>::four_byte() | |
| const { | |
| if ( has_four_byte().ValueOr(false)) { | |
| auto emboss_reserved_local_size = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(4LL)); | |
| auto emboss_reserved_local_offset = ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(0LL)); | |
| if (emboss_reserved_local_size.Known() && | |
| emboss_reserved_local_size.ValueOr(0) >= 0 && | |
| emboss_reserved_local_offset.Known() && | |
| emboss_reserved_local_offset.ValueOr(0) >= 0) { | |
| return ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<32, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::BigEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 0>>, 32>> | |
| ( | |
| backing_ | |
| .template GetOffsetStorage<0, | |
| 0>( | |
| emboss_reserved_local_offset.ValueOrDefault(), | |
| emboss_reserved_local_size.ValueOrDefault())); | |
| } | |
| } | |
| return ::emboss::prelude::BcdView< | |
| /**/ ::emboss::support::FixedSizeViewParameters<32, ::emboss::support::AllValuesAreOk>, | |
| typename ::emboss::support::BitBlock</**/::emboss::support::BigEndianByteOrderer<typename Storage::template OffsetStorageType</**/0, 0>>, 32>> | |
| (); | |
| } | |
| template <class Storage> | |
| inline ::emboss::support::Maybe<bool> | |
| GenericBcdBigEndianView<Storage>::has_four_byte() const { | |
| return ::emboss::support::Maybe</**/bool>(true); | |
| } | |
| namespace BcdBigEndian { | |
| inline constexpr ::std::int32_t IntrinsicSizeInBytes() { | |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(4LL)).ValueOrDefault(); | |
| } | |
| } // namespace BcdBigEndian | |
| template <class Storage> | |
| inline constexpr ::std::int32_t | |
| GenericBcdBigEndianView<Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Read() { | |
| return BcdBigEndian::IntrinsicSizeInBytes(); | |
| } | |
| template <class Storage> | |
| inline constexpr ::std::int32_t | |
| GenericBcdBigEndianView< | |
| Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead() { | |
| return BcdBigEndian::IntrinsicSizeInBytes(); | |
| } | |
| namespace BcdBigEndian { | |
| inline constexpr ::std::int32_t MaxSizeInBytes() { | |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(4LL)).ValueOrDefault(); | |
| } | |
| } // namespace BcdBigEndian | |
| template <class Storage> | |
| inline constexpr ::std::int32_t | |
| GenericBcdBigEndianView<Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { | |
| return BcdBigEndian::MaxSizeInBytes(); | |
| } | |
| template <class Storage> | |
| inline constexpr ::std::int32_t | |
| GenericBcdBigEndianView< | |
| Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { | |
| return BcdBigEndian::MaxSizeInBytes(); | |
| } | |
| namespace BcdBigEndian { | |
| inline constexpr ::std::int32_t MinSizeInBytes() { | |
| return ::emboss::support::Maybe</**/::std::int32_t>(static_cast</**/::std::int32_t>(4LL)).ValueOrDefault(); | |
| } | |
| } // namespace BcdBigEndian | |
| template <class Storage> | |
| inline constexpr ::std::int32_t | |
| GenericBcdBigEndianView<Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { | |
| return BcdBigEndian::MinSizeInBytes(); | |
| } | |
| template <class Storage> | |
| inline constexpr ::std::int32_t | |
| GenericBcdBigEndianView< | |
| Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { | |
| return BcdBigEndian::MinSizeInBytes(); | |
| } | |
| } // namespace test | |
| } // namespace emboss | |
| /* NOLINTEND */ | |
| #endif // TESTDATA_BCD_EMB_H_ | |