35 template <
typename Map >
41 static constexpr std::size_t
max_size = map_type::max_value_size;
45 template < key_type Key >
48 template < key_type Key >
51 template < key_type Key >
57 static_assert( def::size_type::max_val <=
max_size );
59 std::span< std::byte, def::size_type::max_val >(
res ), val );
67 return m.with_register( key, [&]<
typename RegType >( RegType
const& reg ) {
68 return serialize< RegType::key >( reg.value );
72 template < key_type Key >
73 static std::variant< reg_value_type< Key >,
error_record >
84 if ( sres.has_error() )
89 static std::optional< error_record >
92 std::optional< error_record >
res;
93 m.with_register( key, [&]<
typename RegType >( RegType& reg ) {
95 extract< RegType::key >( buff ),
99 [&](
auto const& val ) {
static std::optional< bounded_view > make(view< Iterator > v)
Definition: bounded_view.h:67
The bounded class represents a wrapper over type T constrained between MinVal and MaxVal as compile-t...
Definition: bounded.h:44
Generic class to represent view of some container.
Definition: view.h:41
constexpr Iterator begin() const
Start of the dataset iterator.
Definition: view.h:104
constexpr size_type size() const
Size of the view over dataset uses std::ranges::distance() to tell the size.
Definition: view.h:135
MIT License.
Definition: multiplexer.h:33
static constexpr T deserialize(std::span< std::byte const, max_size > const &buffer)
Definition: serializer.h:81
static constexpr void serialize_at(std::span< std::byte, max_size > buffer, T item)
Definition: serializer.h:76
static constexpr auto SIZE_ERR
Definition: error.h:44
static constexpr std::size_t max_size
Definition: serializer.h:73
decltype(converter_for_impl< D, E >()) converter_for
Definition: converter.h:54
key_type_buffer key_type
Definition: base.h:47
decltype(auto) match(Variant &&var, Callables &&... cals)
Definition: match.h:55
constexpr view< Iter > view_n(Iter begin, std::size_t const n)
Creates view over 'n' items of dataset starting at 'begin' This does not check validity of the range!
Definition: view.h:198
T res
Definition: algorithm.h:505
constexpr Derived const & min(vec_point_base< Derived, N > const &a, vec_point_base< Derived, N > const &b)
Definition: vec_point_base.h:236
Handler for serialization and extraction of datatypes used by the register_map.
Definition: register_handler.h:37
typename map_type::template reg_def_type< Key > reg_def_type
Definition: register_handler.h:49
static message_type serialize(reg_value_type< Key > val)
Definition: register_handler.h:52
typename map_type::key_type key_type
Definition: register_handler.h:39
static message_type select(map_type const &m, key_type key)
Definition: register_handler.h:65
static std::optional< error_record > insert(map_type &m, key_type key, view< std::byte const * > const &buff)
Definition: register_handler.h:90
static constexpr std::size_t max_size
Definition: register_handler.h:41
static std::variant< reg_value_type< Key >, error_record > extract(view< std::byte const * > const &msg)
Definition: register_handler.h:74
Map map_type
Definition: register_handler.h:38
typename map_type::message_type message_type
Definition: register_handler.h:43
typename map_type::template reg_value_type< Key > reg_value_type
Definition: register_handler.h:46