diff --git a/med/container.hpp b/med/container.hpp index 83986c9..17d11cf 100644 --- a/med/container.hpp +++ b/med/container.hpp @@ -113,12 +113,12 @@ struct cont_is //optional or mandatory field w/ setter => can be set implicitly if constexpr (AOptional || AHasSetterType) { - CODEC_TRACE("O/S[%s] is_set=%d", name(), static_cast(seq).is_set()); + // CODEC_TRACE("O/S[%s] is_set=%d", name(), static_cast(seq).is_set()); return static_cast(seq).is_set(); } else //mandatory field w/o setter => s.b. set explicitly { - CODEC_TRACE("M[%s]%s is_set=%d", name(), (APredefinedValue ? "[init/const]":""), static_cast(seq).is_set()); + // CODEC_TRACE("M[%s]%s is_set=%d", name(), (APredefinedValue ? "[init/const]":""), static_cast(seq).is_set()); if constexpr (APredefinedValue) //don't account predefined IEs like init/const { return false; diff --git a/med/field.hpp b/med/field.hpp index e65fe3a..b19ab98 100644 --- a/med/field.hpp +++ b/med/field.hpp @@ -220,7 +220,7 @@ class multi_field : public detail::define_meta_info { for (auto& f : m_fields) { - CODEC_TRACE("%s: %s=%p[%c][%zu]", __FUNCTION__, name(), (void*)&f, f.value.is_set()?'+':'-', inplace); + // CODEC_TRACE("%s: %s=%p[%c][%zu]", __FUNCTION__, name(), (void*)&f, f.value.is_set()?'+':'-', inplace); if (!f.value.is_set()) return &f; } } diff --git a/med/octet_string.hpp b/med/octet_string.hpp index f78747a..56dde34 100644 --- a/med/octet_string.hpp +++ b/med/octet_string.hpp @@ -18,6 +18,8 @@ Distributed under the MIT License namespace med { +constexpr std::size_t MAX_OCTS = std::numeric_limits::max(); + template struct octets { @@ -202,7 +204,7 @@ struct octet_string_impl : IE return false; } } - if constexpr (traits::max_octets != inf()) + if constexpr (traits::max_octets != MAX_OCTS) { if (len > traits::max_octets) { @@ -253,8 +255,6 @@ struct ascii_string : octet_string } }; -constexpr std::size_t MAX_OCTS = std::numeric_limits::max(); - template struct octet_string : octet_string_impl, VALUE> {}; @@ -311,8 +311,13 @@ struct octet_string, void, void> void set(uint8_t const(&data)[FIXED]) { this->set_encoded(FIXED, &data[0]); } }; + template struct octet_string, min, void> : octet_string_impl, octets_var_intern> {}; - +template +struct octet_string, void, void> + : octet_string_impl, octets_var_intern> +{ +}; } //end: namespace med