26 flat_multimap<uint16_t, block_extension>
results;
34 SYS_ASSERT(
id >= id_type_lower_bound, invalid_block_extension,
35 "Block extensions are not in the correct order (ascending id types required)"
38 auto iter =
results.emplace(std::piecewise_construct,
39 std::forward_as_tuple(
id),
40 std::forward_as_tuple()
43 auto match = decompose_t::extract<block_extension>(
id, e.second, iter->second );
45 "Block extension with id type ${id} is not supported",
49 if( match->enforce_unique ) {
50 SYS_ASSERT( i == 0 ||
id > id_type_lower_bound, invalid_block_header_extension,
51 "Block extension with id type ${id} is not allowed to repeat",
57 id_type_lower_bound =
id;